1

假设 5 个节点的网络使用 RAFT 共识协议。每个节点维护一个事务日志,该日志由日志条目列表组成。每个日志条目再次由索引和术语组成。他们都被标记为领导候选人并发送请求投票(任期,索引)。所有领导候选节点的当前日志条目(即术语和索引值列表)如下 -

在此处输入图像描述

那么谁会是领导者呢?

4

1 回答 1

0

(已经够久了,我认为这不会再用于家庭作业了。)

解决问题。

每个节点可以投票给哪些节点?

  • 候选人1:{1、4、5}
  • 候选人2:{1、2、3、4、5}
  • 候选人3:{1、3、4、5}
  • 候选人4:{4}
  • 候选人5:{1、4、5}

综上所述,候选人 1、4、5 中的任何一个都可以拥有多数票,因此其中任何一个都可以成为领导者。

候选人 4 不一定会成为新的领导者,因为另外两个中的一个可能会在它之前获得承诺的选票。

作为一个实际应用,假设候选人 4 是第 3 学期的领导者,然后死了。候选人 4 或 5 将接棒并领导第 4 学期。

于 2018-09-24T14:01:41.687 回答