zookeeper选举原理

作者: 蓝梅 | 来源:发表于2021-08-01 00:22 被阅读0次

一、选举流程

通过看了源码,了解到,zookeeper为了提升并发性能,使用了多级队列架构,提高了服务的并发;大概原理如下图: 多级队列

二、处理选票核心逻辑

选票核心参数:
id:推荐机器的id
zxid:事务id
Epoch选举周期;
开始选举时,选举周期加一,每个机器,都会投自己机器的选票,则id为档期机器的id,myid,事务id为当前机器最大事务号,获取当前选举周期;
获取到选票后,比较选票的逻辑:
1.先判断选举周期,如果获取到的选举周期大于当前机器的选举周期,则,获取到的选票直接胜出,并且修改当前周期为选票中的周期;
2.如果周期相等,再比较事务id,事务id大的机器胜出,并且修改当选的选票,且广播出去;
3.获取到的选票比当前小,则打印警告日志,直接忽略
每台机器会有一个选票桶,桶的结构,结构为Map<机器id,选票>,所以当有机器重复投票时,会覆盖原来的选票;
当选票桶中,某台机器当选的选票数量超过了机器数量的一半,则该台机器被选举为leader,并且广播出去

相关文章

  • zookeeper选举

    zookeeper原理 zookeeper的选举机制(全新集群paxos)

  • Zookeeper选举原理

    Zookeeper选举原理 作为一个分布式应用程序协调服务,在大型网站中,其本身也是集群部署的,安装zookeep...

  • zookeeper选举原理

    一、选举流程 通过看了源码,了解到,zookeeper为了提升并发性能,使用了多级队列架构,提高了服务的并发;大概...

  • ZooKeeper详解3.原理剖析

    参考资料来源Zookeeper的功能以及工作原理zookeeper的领导者选举和原子广播Zookeeper 3、Z...

  • Zookeeper选举算法原理

    Leader选举 Leader选举是保证分布式数据一致性的关键所在。当Zookeeper集群中的一台服务器出现以下...

  • Zookeeper选举算法原理

    Leader选举 Leader选举是保证分布式数据一致性的关键所在。当Zookeeper集群中的一台服务器出现以下...

  • 基于zookeeper搭建sparkHA

    企业中一般都使用zookeeper的高可用搭建Spark。其原理就是通过zookeeper来选举一个Master,...

  • zookeeper leader选举

    zookeeper选举算法 zookeeper有三种算法来实现leader选举:LeaderElection算法A...

  • Zookeeper选举算法原理(摘选)

    一、前言 前面学习了Zookeeper服务端的相关细节,其中对于集群启动而言,很重要的一部分就是Leader选举,...

  • zookeeper的原理-leader选举

    Zookeeper 的一致性 Zookeeper 的来源 通过算法来解决分布式环境下多个节点中选举出一个leade...

网友评论

    本文标题:zookeeper选举原理

    本文链接:https://www.haomeiwen.com/subject/fihamltx.html