首页 > 编程语言 > 详细

ZooKeeper之选举(fastleaderelection算法)

时间:2020-03-02 23:00:26      阅读:79      评论:0      收藏:0      [点我收藏+]

ZooKeeper之选举(fastleaderelection算法)

每个节点除了zxid,还会有一个myyid(在部署ZooKeeper的时候自己创建并编写任意不相同的数字)

  1. 启动选举
  2. 运行时选举

概念

  • 外部投票:其他服务器发来的投票
  • 内部投票:服务器自身的投票
  • 选举轮次:leader周期,可以理解为epoch

pk:比较外部投票与内部投票,确定是否变更内部投票

  1. 每个节点初始化自己的选票(myid、zxid,当前节点选举轮次,被推荐的服务器选举轮次,状态(looking))
  2. 发送初始化选票
  3. 接受外部选票
  4. 判断选举轮次(大于外转3,小于、等于),进行PK
  5. 变更投票,重新发送
  6. 归档,每个节点会将收到的外部投票进行归档
  7. 统计。判断是否有过半的服务器认可当前的投票,如果则终止。

ZooKeeper之选举(fastleaderelection算法)

原文:https://www.cnblogs.com/we9999/p/12398433.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!