ZAB——ZooKeeper Atomic Broadcast
2022-06-09 16:34:48 0 举报
ZAB,全称ZooKeeper Atomic Broadcast,是ZooKeeper中的一种原子广播协议。它用于在ZooKeeper集群中同步数据和状态信息,确保所有节点在同一时刻具有相同的数据副本。ZAB协议通过选举一个主节点(Leader)来负责协调整个集群的操作,同时允许其他节点(Follower和Observer)与主节点进行通信。当主节点发生故障时,ZAB协议会触发新一轮的选举过程,以确保集群的持续稳定运行。ZAB协议的主要优点是能够在分布式环境中实现数据的一致性和可靠性,从而保证ZooKeeper服务的高可用性和高性能。
作者其他创作
大纲/内容
Commit
低 32 位 counter事务 ID
Request
64 位 ZXID
FIFO
写入成功
Leader 服务器会为每个 Follower 服务器都各自分配一个单独的队列,用于保证操作的顺序性,根据 ZXID 进行先后排序处理。
写入队列
Leader 服务器会维护一个 Follower 服务器可用列表
高 32 位 epochLeader ID
ZooKeeper Atomic Broadcast
为 Proposal 分配 ZXID
以事务日志形式写进磁盘
确定了 Leader 的唯一性
Proposal
Leader
确定了事务的唯一性
Follower
ACK 响应过半
生成 Proposal
响应 ACK
0 条评论
下一页