【问题标题】:In raft leader election,how live leader response to RequestVote rpc from a candidate?在 raft 领导者选举中,领导者如何现场响应来自候选人的 RequestVote rpc?
【发布时间】:2018-05-29 08:54:01
【问题描述】:

我在看草稿纸。

到requestvote rpc,

接收器实现: 1. 如果 term

在某些情况下,候选人的任期等于领导者的当前任期,那么领导者如何响应候选人的RequestVote rpc?

【问题讨论】:

    标签: raft leader


    【解决方案1】:

    让我们用更人性化的方式来区分:

    1. 如果投票来自较早的任期 (term < currentTerm),请忽略它。
    2. 如果我们在本学期没有投票 (votedFor is null),或者如果这是我们在本学期上次投票的同一候选人 (votedFor == candidateId),那么只要该候选人投票日志是最新的。

    请记住,领导者在给定任期内为自己投票。

    这意味着对于term == currentTerm,领导者将拥有等于自己的votedFor。这不是空的,因此它授予此投票的唯一方法是candidateId 是它自己 - 即它在当前任期内为自己投票。在所有其他情况下,它不会授予投票权。

    要记住的高级事情(事实上,所有这一切的关键不变量)是服务器从不在同一任期内多次投票。一旦它对一个任期进行投票,它就是最终的。由于领导者为自己投票,因此当它收到同一任期内的其他请求时,它不会批准。

    【讨论】:

      猜你喜欢
      • 2021-02-13
      • 2021-11-08
      • 2019-02-07
      • 1970-01-01
      • 2012-08-01
      • 2020-04-24
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多