【问题标题】:How to select a leader in RAFT consensus protocol如何在 RAFT 共识协议中选择领导者
【发布时间】:2019-02-07 01:52:46
【问题描述】:

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

那么谁会是领导者呢?

【问题讨论】:

    标签: consensus raft


    【解决方案1】:

    (时间已经够长了,我想这不会再用于家庭作业了。)

    解决问题。

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-29
      • 2018-08-20
      • 2012-08-01
      • 2019-12-19
      • 2021-02-13
      • 1970-01-01
      • 2019-03-30
      • 2021-01-11
      相关资源
      最近更新 更多