Zookeeper----ZAB协议
undefined
一、ZAB协议
1、什么是ZAB协议
Zookeeper Atomic Broadcast,有效解决了 Zookeeper 集群崩溃恢复,以及主从同步数据的问题。
ZAB 协议定义的4种节点状态:
- Looking :选举状态。
- Following :Follower 节点(从节点)所处的状态。
- Leading :Leader 节点(主节点)所处状态。
- Observing:观察者节点所处的状态
2、集群上线时的leader选举过程
服务器有4台节点,其中一台为observer不参与选举
3、崩溃恢复时的leader选举
leader建立完后,leader周期性地不断向follower发送心跳(ping命令,没有内容的socket)。当leader崩溃后,follower发现socket通道已关闭,于是follower开始进入到looking状态,重新回到上一节的leader选举状态,此时集群不能对外提供服务。
4、主从服务器之间的数据同步
5、ZK中的NIO和BIO应用
NIO:
- 用于被客户端连接的2181端口,使用的是NIO模式与客户端建立连接
- 客户端开启watch时,也使用NIO,等待zk服务器的回调
BIO:
集群在选举时,多个节点之间的投票通信接口,使用BIO进行通信
二、CAP理论
1、CAP定理
2、CAP权衡
3、BASE理论
4、ZK追求的一致性
ZK在数据同步时,追求的并不是强一致性,而是顺序一致性(事务id的单调递增)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
2019-07-10 模型融合---为什么说bagging是减少variance,而boosting是减少bias?