【发布时间】:2015-08-09 17:48:28
【问题描述】:
我有一个 web.py 程序充当网络服务,根据其目录中的文件提供响应。
现在我想建立一个服务器网络,每个服务器运行一个程序实例。此外,每个服务器都有一个到其他服务器的地址列表。
这背后的动机是允许不同的服务器存储不同的文件,提供(现已分发的)服务的不同部分。
到目前为止一切顺利,每个服务器查看自己的文件,创建响应,然后连接到他从网络中的邻居那里获得的所有响应。
问题在于,如果两台服务器(直接或间接)彼此在其列表中,这可能会导致循环请求。
如何防止这种情况发生?我正在考虑将服务器地址列表附加到每个请求。服务器会在收到请求时将自己添加到列表中。它只会请求那些不在列表中的邻居的响应。这是一种可行的方法吗?
http(请求)中是否内置了一些东西来收集来自多个服务器的响应而不会造成无限循环?
【问题讨论】:
-
我不认为有任何内置功能可以解决您的问题...但也许您希望发送请求以整理来自其他服务器的数据“特殊”所以其他服务器知道他们不应该尝试搜索其他服务器......或者让 uuid 随请求一起传递,所以一旦你得到一个循环,你就可以识别它并打破它
标签: python http webserver web.py circular-reference