在网络分区的情况下,Raft 保持一致。但是,如果只有一个节点只与领导者失去联系,成为候选人并要求投票,会发生什么?
这是设置,我调整了http://thesecretlivesofdata.com/raft/中的示例以满足我的需要:
节点B
是当前的领导者,并向追随者发送心跳(红色)。B
和之间的连接C
丢失,在选举超时后C
成为候选人,为自己投票并要求节点A
,D
并E
为它投票(绿色)。
会发生什么?
据我了解 Raft,nodesA
和D
shouldE
投票选出C
下C
一个领导者(第 2 学期)。然后,我们有两个领导者各自发送心跳,并希望节点发送心跳,并且A
由于任期较低D
而E
将忽略这些心跳。B
这是正确的还是有更好的机制?