Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设 5 个节点的网络使用 RAFT 共识协议。每个节点维护一个事务日志,该日志由日志条目列表组成。每个日志条目再次由索引和术语组成。他们都被标记为领导候选人并发送请求投票(任期,索引)。所有领导候选节点的当前日志条目(即术语和索引值列表)如下 -
那么谁会是领导者呢?
(已经够久了,我认为这不会再用于家庭作业了。)
解决问题。
每个节点可以投票给哪些节点?
综上所述,候选人 1、4、5 中的任何一个都可以拥有多数票,因此其中任何一个都可以成为领导者。
候选人 4 不一定会成为新的领导者,因为另外两个中的一个可能会在它之前获得承诺的选票。
作为一个实际应用,假设候选人 4 是第 3 学期的领导者,然后死了。候选人 4 或 5 将接棒并领导第 4 学期。