gpt4 book ai didi

architecture - 节点如何加入分布式哈希表 (DHT) 集群?

转载 作者:行者123 更新时间:2023-12-04 17:37:45 30 4
gpt4 key购买 nike

我正在尝试了解 Distributed Hash Table (DHT)范式,因为它适合 P2P 或完全分布式的计算架构。从理论的角度来看,一旦集群建立起来,它如何管理集群数据和分配工作就很有意义了。

对我来说最有趣的部分是该架构从不需要某种集中式 Controller 或协调器(没有单点故障)。但是,我仍在努力理解这个概念的实际执行,特别是集群是如何形成的。如果它是一个完全分布式的系统,节点如何知道如何“加入”已经建立的集群?

在一个简单的例子中:

  • 假设我正在创建一个基于 DHT 模型的 P2P 应用程序
  • 该应用程序分布在 Internet 上(也就是不在同一个网络中),任何公共(public)客户端都可以连接到集群
  • 连接到集群的客户端可以看到集群中的一些(但不一定是全部)其他客户端
  • 未连接的客户端在集群中没有任何地址或客户端名称。

  • 那么,如果没有任何集中式服务器充当信标,或者提供将新客户端引入集群的手段,那么新客户端将如何“连接”呢?

    最佳答案

    这是我在论文中提到的一个问题,但我从未找到满意的解决方案。问题是在加入网络之前,您只需要一些关于其他对等点的信息,获得第一个地址是困难的。

    我想出了一些想法:

  • 鼓励同行发布他们的地址,这样您就可以获得可公开访问的已知 IP 列表
  • 运行几个“众所周知的”引导对等节点
  • Brute Force the address space

  • 最后一种选择是唯一真正去中心化的方法。三者的结合可能是最好的。

    一旦你被引导到一个网络断开连接后重新建立连接并不难,只需保存网络中已经长期存在的数千个节点的地址,至少其中一个下次仍然在线。

    关于architecture - 节点如何加入分布式哈希表 (DHT) 集群?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13034593/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com