Zookeeper----ZAB协议

一、ZAB协议

1、什么是ZAB协议

Zookeeper Atomic Broadcast,有效解决了 Zookeeper 集群崩溃恢复,以及主从同步数据的问题。
image

ZAB 协议定义的4种节点状态:

  1. Looking :选举状态。
  2. Following :Follower 节点(从节点)所处的状态。
  3. Leading :Leader 节点(主节点)所处状态。
  4. Observing:观察者节点所处的状态
    image

2、集群上线时的leader选举过程

服务器有4台节点,其中一台为observer不参与选举
image

image

3、崩溃恢复时的leader选举

leader建立完后,leader周期性地不断向follower发送心跳(ping命令,没有内容的socket)。当leader崩溃后,follower发现socket通道已关闭,于是follower开始进入到looking状态,重新回到上一节的leader选举状态,此时集群不能对外提供服务。
image

4、主从服务器之间的数据同步

image

5、ZK中的NIO和BIO应用

NIO:

  1. 用于被客户端连接的2181端口,使用的是NIO模式与客户端建立连接
  2. 客户端开启watch时,也使用NIO,等待zk服务器的回调
    image

BIO:
集群在选举时,多个节点之间的投票通信接口,使用BIO进行通信

二、CAP理论

1、CAP定理

image

2、CAP权衡

image

image

3、BASE理论

image

4、ZK追求的一致性

ZK在数据同步时,追求的并不是强一致性,而是顺序一致性(事务id的单调递增)。

posted @   nxf_rabbit75  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
历史上的今天:
2019-07-10 模型融合---为什么说bagging是减少variance,而boosting是减少bias?
一、ZAB协议1、什么是ZAB协议2、集群上线时的leader选举过程3、崩溃恢复时的leader选举4、主从服务器之间的数据同步5、ZK中的NIO和BIO应用二、CAP理论1、CAP定理2、CAP权衡3、BASE理论4、ZK追求的一致性
点击右上角即可分享
微信分享提示