我一直在研究一些DHT系统,特别是Pastry和Chord。我已经读过一些关于Chord对流失的反应的担忧,不过我相信这对我手头的任务不会有任何问题。我正在实施某种社交网络服务,它不依赖于课程项目的任何中央服务器。我需要DHT进行查找。
现在我不知道网络中的所有服务器。正如我所说,没有主要的跟踪服务器。它以这种方式工作:每个客户端有三个专用服务器。这三个服务器具有客户端的配置文件,它是墙,它是个人信息,被复制。当用户添加朋友(输入客户端的地址)时,我才会了解其他服务器组。所以我会在两组三台服务器上创建两个独立的DHT,当他们互相交朋友时,我想加入DHT。我一贯地想这样做。我没有太多时间熟悉协议,所以如果我想加入两个独立的DHT,我想知道哪一个更好?
答案 0 :(得分:2)
分布式哈希表旨在自动处理查找存储给定数据的节点的问题。因此,在DHT设计理念中,您将没有专用服务器用于配置文件,墙壁等...您将拥有每个服务器的专用数据标识符,DHT将处理在活动服务器之间放置数据并为给定的数据找到正确的服务器。
Pastry和Chord在功能方面非常相似,主要区别在于它们如何处理邻居集和路由。我不清楚,对于这种应用,一个会比另一个更好。
如果您真的需要详细信息,那么来自Infocom 2005的一份很好的技术比较文件是A performance vs. cost framework for evaluating DHT design tradeoffs under churn (PDF)。