我正在尝试了解分布式哈希表(DHT)范例,因为它适用于P2P或完全分布式计算架构。从理论上讲,一旦建立了一个集群,它如何管理数据并分配工作就有了一些意义。
对我来说最有趣的部分是,该架构从不需要某种集中控制器或协调器(没有单点故障)。然而,我仍然在努力理解概念的实际执行方式,特别是集群的形成方式。如果它是一个完全分布式系统,那么节点如何知道如何“加入”已经建立的集群?
在一个简单的例子中:
- 假设我正在创建一个基于DHT模型的P2P应用程序 - 该应用程序分布在互联网上(即不在同一网络中),任何公共客户端都可以连接到集群 - 连接到集群的客户端可以看到集群中的一些(但不一定全部)其他客户端 - 没有连接的客户端没有集群中任何客户端的地址或名称。
对我来说最有趣的部分是,该架构从不需要某种集中控制器或协调器(没有单点故障)。然而,我仍然在努力理解概念的实际执行方式,特别是集群的形成方式。如果它是一个完全分布式系统,那么节点如何知道如何“加入”已经建立的集群?
在一个简单的例子中:
- 假设我正在创建一个基于DHT模型的P2P应用程序 - 该应用程序分布在互联网上(即不在同一网络中),任何公共客户端都可以连接到集群 - 连接到集群的客户端可以看到集群中的一些(但不一定全部)其他客户端 - 没有连接的客户端没有集群中任何客户端的地址或名称。
如果没有集中式服务器作为信标或提供介绍新客户端加入集群的手段,那么新客户端如何“连接”?