0

我即将开发分布式系统。该系统在所有功能中都需要分配一些资源(大块资源可以在较小的块中分割)。为了做到这一点,我想使用Chord/Pastry P2P方法(逻辑环网上的工作站)。 糕点,对资源分配的非常有趣的方法:当用户站需要送东西,站GUID的哈希值是用来寻找在DHT的关键,所以像这样的考虑:了解如何通过DHT实现类似Pastry-P2P的资源分配

用户站 - > GUID(散列在用户站ip上) - > HASH - >我得到一个名为X的值 - >使用这个散列并在Pastry环网中找到具有相同GUID值的散列值(位于Pastry节点公钥上的散列值) (或直接的前任) - >将数据放在那里。

嗯,这意味着理想情况下,每个用户总是将自己的数据放在同一个Patry工作站(Pastry节点)中。那么,该协议也反映了邻居的数据,因此用户可以在少数节点中找到它的数据。

这是一个很好的方法吗?对于继续进行治疗是否有任何可能的副作用?

+0

不少研究比较DHT(糕点,Kademlia等......)。海事组织,它真的归结为什么最适合您的应用程序。模拟可能有所帮助 – dbryson 2011-04-26 13:36:57

回答

0

Pastry-P2P-like解决方案是理论模型。因此,你应该把它们看作是一个抽象概念。

这些模型没有考虑对等端的实际实际搜索以及尝试建立到远端对等端的连接时遇到的技术难题(例如,NAT穿越和防火墙问题)。同伴也可能倒下。

连接到下一个节点的成本并不总是1.它可以更多。要回答你的问题,你不能只依赖选定的模型。这就是说,如果散列结果是均匀分布的,那么对等体之间的性能差异将会很小,除非它们特别难以达到NAT,代理或防火墙之后。