一个“耐用”的Kademlia网络?

时间:2012-11-21 19:06:31

标签: storage distributed p2p kademlia

前一段时间我玩过Kademlia(KAD)协议。我理解它是如何工作的,我认为可以用它来创建分布式数据存储。

无论如何,有一个问题:在每个数据包的Kademlia中都有一个“拥有”它的节点。请求数据时,它会传播到下一个节点,但会被分配一个TTL。之后它被删除。 Kademlia的想法是“所有者”节点在数据到期之前刷新其他节点上的数据。

据我所知,即使“所有者”节点离开网络,这也会导致数据缓存 - 但只是暂时的。如果所有者节点永远不会返回,那么从它复制到其他节点的所有数据迟早都会过期,因此一段时间后数据就会消失。

虽然这对于人们想要共享文件的P2P网络来说是可以接受的,但对于分布式数据存储来说却不是那么好。

怎么可以解决这个问题?

或者 - 是否有其他类似于Kademlia的P2P协议考虑到这一点? 在我的想象中,“完美”的解决方案是,如果总有许多N个节点保存复制的数据。只要其中一个离开,其余的N-1个节点就会寻找另一个节点来推送数据,这样你就可以再次拥有N个节点。

这样的协议是否存在?

1 个答案:

答案 0 :(得分:1)

您是否有兴趣开发自己的协议实现或使用现有解决方案?

如果您想玩自己的实现,我建议您查看我认为好的Chord DHT。