我在筏子上有问题。
在论文“寻找可理解的共识算法(扩展版)”中说:
要开始选举,追随者会增加其当前任期并转换到候选状态。(在第 5.2 节中)
它还说:
在 AppendEntries RPC 和 RequestVot RPC 中,reciever 应该是“Reply false if args.term < currentTerm”
所以,让我们想象一下这个场景,raft系统中有5台机器,现在机器0是leader,机器1到4是follower,现在是term 1。突然,机器1断开网络,然后机器1超时,并且它开始领导选举,它发送 RequestVot RPC,肯定会失败(网络断开)。然后它将开始新的领导人选举......等等。机器 1 的期限是多次增加。可能增加到10。当机器1'Term增加到10时,它连接网络。并且领导者(机器0)向机器1发送心跳,机器1将拒绝心跳(机器0'期限小于机器1),现在机器1将无法重新加入系统。