- 为分布式应用提供服务协调的组件
- zk一个leader多个follower半数以上存活便可对外提供服务
- 数据全局一致、请求顺序执行、数据实时性保证整个集群数据的可靠性
- 提供统一命名服务、統一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等服务
- tickTime=2000:服务器之间或客户端与服务器之间维持心跳的时间间隔,也僦是每个tickTime时间就会发送一个心跳时间单位为毫秒,用于心跳机制最小时间为2倍tickTime
- initLimit=10:集群中的Follower跟随者服务器与Leader领导者服务器之间初始化时能容忍的最多心跳数量,限定服务器到leader的时间
- 持久化节点:客户端与zk断开后数据还在
- 持久化顺序节点:客户端与zk断开后数据还在只是给該节点加上了顺序
- 临时节点:客户端与zk断开后数据就删除了
- 临时顺序节点:客户端与zk断开后数据就删除了,只是给该节点加上了顺序
创建zk愙户端的时候会启动两个线程,一个负责连接zk一个负责监听,连接线程将注册的监听添加到监听器中当zk监听到有数据或路径变化时,将监听事件发给监听的线程监听线程负责调用回调方法。
- 半数机制:集群半数存活便可对外提供服务所以是奇数台
- 选举算法:zk启动先投自己,再和leading的节点进行比较谁事务ID越大,谁就是Leader事务ID一样时,则看myid谁大谁是leader,依次类推直到半数节存活。leader选举完成
发布了56 篇原创文章 · 获赞 10 · 访问量 2万+