开发者社区> 问答> 正文

zookeeper 选主过程是什么?

zookeeper 选主过程是什么?

展开
收起
芯在这 2021-12-05 21:31:59 361 0
1 条回答
写回答
取消 提交回答
  • 选举算法:基于 Fast Paxos :FastLeaderElection 算法

    ZooKeeper 的核心是原子广播,这个机制保证了各个 Server 之间的同步。

    实现这个机制的协 议叫做 ZAB 协议(Zookeeper Atomic BrodCast)。

    1、启动1,1去联系leader,跟leader做状态数据, 因为是第一个启动的。 所以没有寻找到leader那么就发起投票来进行选举leader, 首先选举自己来成为leader,但是发起投票的请求给其他的服务器,这些服务器全部都没有响应。所以最终不能选举成功,当前这个节点1就进入looking状态

    2、启动2,2要去联系leader,跟1一样也没有寻找到leader,2节点也要发起投票来选举leader,最终投票结束之后,2节点只能收集到2个赞成票,还不至于能决定当前的2节点成为新的leader,原因是赞成票并没有超过集群的总节点(只有能参与投票的总节点数)的半数, 2节点也进入looking状态

    3、启动服务器3,3也没有联系到leader,所以也会发起投票,最终投票结果是3节点获取到3票。所以3票超过了总节点的半数,所以服务器节点3就能成为leader。所以,所有上线了的其他服务器就自动成为规定好的角色:follower

    4、启动服务器4,去联系leader,能寻找到该zookeeepr集群有leader,当前服务器4就自动成为follower

    5、启动服务器5 和 4结果的过程一样

    2021-12-05 22:24:01
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
《MSE 微服务网关》 立即下载
微服务引擎 MSE 治理中心重磅发布 立即下载
阿里云微服务引擎 MSE 2.0 线上发布 立即下载