【发布时间】:2011-04-22 18:58:28
【问题描述】:
我即将开发一个分布式系统。在所有功能中,系统需要分配一些资源(可以分割成更小块的大资源)。为了做到这一点,我想使用 Chord/Pastry P2P 方法(逻辑环网上的站点)。 Pastry 有一个非常有趣的资源分配方式:当用户站需要发送一些东西时,使用站 guid 的哈希来查找 dht 中的密钥,所以考虑这样的事情:
用户站 -> GUID(用户站 ip 上的哈希) -> 哈希 -> 我获得一个名为 X 的值 -> 使用此哈希并在糕点环网中找到具有相同 GUID 的站(糕点节点上的哈希)公钥)值位于(或直接前任)-> 将数据放在那里。
这意味着,理想情况下,每个用户始终将自己的数据定位在同一个 Patry 站(Patry 节点)中。好吧,该协议还镜像邻居的数据,因此用户可以在几个节点中找到它的数据。
这是一个好方法吗?像以前一样进行是否有任何可能的副作用?
【问题讨论】:
-
不乏比较 DHT(Pastry、Kademlia 等)的研究。 IMO,它真的归结为最适合您的应用程序。模拟可能会有所帮助。
标签: network-programming p2p network-protocols allocation distributed-system