我即将开发一个分布式系统。在所有功能中,系统需要分配一些资源(可以分成较小块的大资源)。为了做到这一点,我想使用Chord/Pastry P2P方法(逻辑环网上的站点)。Pastry有一种非常有趣的资源分配方法:当用户工作站需要发送某些内容时,会使用站点guid的散列来查找分布式哈希表中的关键字,因此需要考虑如下内容:
用户站-> GUID (用户站ip上散列) ->散列-> I使用该散列获得称为X_ ->的值,并在糕点环网中找到具有相同GUID (糕点节点公钥上的散列)值的站位于(或直接的前辈) ->放置数据在那里。
这意味着,理想情况下,每个用户总是将自己的数据定位在相同的Patry工作站(Pastry节点)中。嗯,该协议还会镜像邻居上的数据,因此用户可以在几个节点中找到自己的数据。
这是一种好的方法吗?在继续之前的过程中是否有任何可能的副作用?
发布于 2011-09-13 01:46:55
Pastry-P2P-like解决方案是理论模型。因此,你应该把它们看作是抽象的东西。
这些模型没有考虑对等体的实际搜索和在尝试建立到远程对等体的连接时遇到的技术困难(例如,NAT穿越和防火墙问题)。对等方也可能出现故障。
连接到下一个对等点的成本并不总是1,它可以更高。要回答您的问题,您不能只依赖所选的模型。
也就是说,如果散列结果是均匀分布的,那么对等体之间的性能变化将很低,除非它们在NAT、代理或防火墙之后特别难到达。
https://stackoverflow.com/questions/5758980
复制相似问题