当前位置:   article > 正文

zookeeper的监听机制和选举机制

zookeeper的监听机制和选举机制

zookeeper 监听机制
1.首先启动一个main线程
2.在main线程中创建Zookeeper客户端,同时会创建两个线程,
connet(负责通信)listener(负责监听)
​3.通过connet线程将注册的监听事件发送给Zookeeper
4.Zookeeper收到注册的监听事件后将其添加进注册监听列表
​5.Zookeeper监听到有路径或数据的变化就会将这个消息发送给listener线程
​6.listener调用process()方法

zookeeper 选举机制
1.选举机制简介
​ (1)半数机制:集群中半数以上机器存活,集群可用。所以Zookeeper适合安装奇数台服务器。
​ (2)Zookeeper虽然在配置文件中并没有指定Master和Slave。但是,Zookeeper工作时是有一个节点为Leader,其他为Follower,Leader是通过内部的选举机制临时产生的。

2.选取机制举例
假设有五台服务器依次启动
(1)服务器1启动,发起选举,投自己一票,此时服务器1票数不够半数以上(3票),选举无法完成,服务器1状态保持为LOOKING;
​ (2)服务器2启动,再发起一次选举。服务器1和2分别投自己一票并交换选票信息:此时服务器1发现服务器2的ID比自己投票推举的服务器ID大,更改选票为推举服务器2。票数仍不够半数以上,选举无法完成,服务器1,2状态保持LOOKING
​ (3)服务器3启动,发起一次选举。此时服务器1和2都会更改选票为服务器3,此时服务器3的票数已经超过半数,服务器3当选Leader。服务器1,2更改状态为FOLLOWING,服务器3更改状态为LEADING;
​ (4)服务器4启动,发起一次选举。此时服务器1,2,3已经不是LOOKING状态,不会更改选票信息。交换选票信息结果:服务器3为3票,服务器4为1票。此时服务器4服从多数,更改选票信息为服务器3,并更改状态为FOLLOWING;
​ (5)服务器5启动,同4一样当小弟。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/999745
推荐阅读
相关标签
  

闽ICP备14008679号