【问题标题】:Start and connect several servers before a client connection在客户端连接之前启动并连接多个服务器
【发布时间】:2020-02-21 00:21:34
【问题描述】:
我正在尝试在 java 中实现 Raft 软件,但我在如何启动集群中的服务器时遇到了问题。
我应该如何在没有连接到客户端的情况下启动它们?我被第一个的 socket.accept() 卡住了,因为它一直在等待连接,但我不知道应该如何解决这个问题。
简而言之,我如何启动多个服务器,将它们相互连接,然后等待客户端连接?
任何帮助表示赞赏!
谢谢
【问题讨论】:
标签:
java
distributed-computing
distributed
distributed-system
raft
【解决方案1】:
每台机器都有剩余机器的地址列表。例如,假设 raft 集群中有 3 台机器
Machine1 知道 Machine2 和 Machine3 的 IP 地址。
同样 Machine2 知道 Machine1 和 Machine3 的 IP 地址,
Machine3 知道 Machine1 和 Machine2 的 IP 地址
每台机器都应该尝试与所有其他机器建立连接。之后就可以在raft中开始leader选举了。