五、zookeeper集群的选举机制,监听原理,写数据流程 和 节点类型,
admin
2023-02-25 20:20:05
0次

zk集群的选举机制:

半数机制:zk集群中的有半数以上的节点存活,zk就能正常运行,所以zk集群节点最好是奇数个。Zk集群中只有一个leader,其他都是follower

选举机制:会经过投票,票数大于半数以上的第一台服务器,当选leader

Server1  server2  server3  server4  server5
(id大的不给id小的投票,id小的会给id大的投票,server1-5,id依次增大)
5台机器:server1开始投票,server1投自己,因为server1 id最小,所以server1只有一票
Server2:server2会投自己,server1也会投server2一票,server2 两票
Server3:server3会投自己,server1和server2各自投server3一票,那么server3就三票,三票在半数以上(一共五台机器),所以就选server3当leader,
后边的server4(4票)和server5(5票)虽然来都比server3票数多,但是server3是第一个票数大于半数以上的,所以就选择server3当leader

Zokeeper的监听的原理:(重点)

1)首先要有一个main()线程
2)在main()线程中创建zookeeper的客户端,这时就会创建两个线程,一个负责网络连接通信(connect),一个负责监听(listen)
3)通过客户端创建的connect线程将注册的监听事件发送给zookeeper
4)在zookeeper server端的注册监听器列表中将注册的监听事件添加到列表中
5)Zookeeper监听到数据或路径发生变化,就会将这个消息发送给listen线程
6)Listen线程调用内部的process()方法,就是发生了数据变化之后怎么办,这是程序员自己开发的。

如图:

五、zookeeper集群的选举机制,监听原理,写数据流程 和 节点类型,

zk集群写数据的流程

我们client想server发送写请求的时候,是如何进行写操作的,各个server的数据时如何保持一致的
五、zookeeper集群的选举机制,监听原理,写数据流程 和 节点类型,
理解: 是client给server发送写请求的时候,会把这个请求转发给leader,(写请求follower做不了主,但是读请求可以做主),leader会把这个写请求发送给各个server并进行写数据的操作,当各个server数据写完之后,会依次告知leader,当leader收到半数以上的server是写成功的话,leader就会认为这个写操作成功了,然后leader 在告知各个server,这条写操作成功了,然后就在将成功的消息发送给客户端,进行显示,这样就会保持每个server都有副本,数据从而达到一致

Zk集群中znode的节点的类型

持久型(Persistent):客户端和服务器断开连接后,创建的链接不删除
短暂型(Epheneral):客户端个服务器断开理解后,创建的节点自己删除

持久节点包括:
(1)持久化目录节点:客户端不zk断开链接后,节点依旧存在
(2)持久化顺序编号目录节点:客户端与zk断开链接后,节点依旧存在 只是zk给该节点名称进行顺序编号。
序列号的作用:在分布式系统中,序列号可以被用于为所有的事件进行全局排序,这样客户端可以通过序列号判断事件的顺序

短暂型节点:
(1)临时目录节点:客户端与zk断开链接后,删除节点,最适合用于动态节点上下线
(2)临时顺序编号目录节点:客户端与zk断开链接后会删除该节点,只是命名的时候会添加顺序编号

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...