开发者社区 > 数据库 > 正文

Candidate 等待其他Follower 节点的投票回复,收到的回复可能会出现哪几种结果?

已解决

Candidate 等待其他Follower 节点的投票回复,收到的回复可能会出现哪几种结果?

展开
收起
云上静思 2022-09-18 16:52:24 462 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    Candidate 等待其他Follower 节点的投票回复,收到的回复可能会出现以下三种结果:

    • Candidate 节点收到了超过半数的投票,赢得选举,成为Leader,此时它会向其他节点发送心跳消息,维持自身的Leader 地位,并阻止新选举的产生。

    • Candidate 节点收到了其他节点发来的任期号更大的消息,这表示其他节点当选为Leader,此时Candidate 会切换为Follower 状态。如果Candidate 收到了更小的任期号,节点会拒绝这次请求,并继续保持Candidate 状态。

    • 若各个 Candidate 节点均未获得超过半数的选票,则选举超时。此时每个Candidate 节点通过增加当前任期号开始一轮新的选举。为防止多次选举超时,Raft 使用随机选举超时时间的算法,每个Candidate 开始一次选举时,会设置一个随机选举超时时间,防止多个Candidate 节点同时超时、同时开始下 一轮选举,从而减少在新的选举中选票被瓜分的可能性。

    以上内容摘自《云原生数据库原理与实践》,这本书可以在电子工业出版社天猫店购买。

    2022-09-18 17:42:37
    赞同 展开评论 打赏
问答地址:

数据库领域前沿技术分享与交流

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载