【发布时间】:2018-08-20 05:25:53
【问题描述】:
在网络分区的情况下,Raft 保持一致。但是,如果只有一个节点only失去了与领导者的联系,成为候选人并要求投票,会发生什么?
这是设置,我调整了http://thesecretlivesofdata.com/raft/ 中的示例以满足我的需要:
节点B 是当前的领导者,并向追随者发送心跳(红色)。 B 和 C 之间的连接丢失,选举超时后 C 成为候选人,为自己投票并要求节点 A、D 和 E 投票给它(绿色)。
会发生什么?
据我了解 Raft,节点 A、D 和 E 应该投票给 C,这使得 C 成为下一个领导者(第 2 期)。然后我们有两个领导者各自发送心跳,希望节点A、D 和E 将忽略来自B 的那些,因为任期较短。
这是正确的还是有更好的机制?
【问题讨论】: