【发布时间】:2019-02-07 01:52:46
【问题描述】:
假设一个有 5 个节点的网络使用 RAFT 共识协议。每个节点维护一个事务日志,该日志由日志条目列表组成。每个日志条目再次由索引和术语组成。他们都被标记为领导候选人并发送请求投票(任期,索引)。所有领导候选节点的当前日志条目(即术语和索引值列表)如下 -
那么谁会是领导者呢?
【问题讨论】:
假设一个有 5 个节点的网络使用 RAFT 共识协议。每个节点维护一个事务日志,该日志由日志条目列表组成。每个日志条目再次由索引和术语组成。他们都被标记为领导候选人并发送请求投票(任期,索引)。所有领导候选节点的当前日志条目(即术语和索引值列表)如下 -
那么谁会是领导者呢?
【问题讨论】:
(时间已经够长了,我想这不会再用于家庭作业了。)
解决问题。
每个节点可以投票给哪些节点?
从上面看,候选人 1、4、5 中的任何一个都可以拥有多数票,因此其中任何一个都可以成为领导者。
candidate4 不一定会成为新的领导者,因为另外两个中的一个可能会在它之前获得承诺的选票。
作为一个实际应用,假设候选人 4 是第 3 学期的领导者,然后死了。候选人 4 或 5 将接棒并领导第 4 届。
【讨论】: