ZAB
2016-03-20 14:57:43 0 举报
ZAB(Zookeeper Atomic Broadcast)是Zookeeper中的一个原子广播协议,用于在分布式系统中实现数据的一致性。当一个客户端执行写操作时,ZAB协议会将这个操作封装成一个事务,然后通过广播的方式将事务发送给所有服务器。每个服务器收到事务后,都会尝试将其应用到自己的数据存储中。如果大多数服务器都成功应用了事务,那么整个系统就达到了一致状态。这个过程被称为“过半数原则”。 ZAB协议还包括了故障恢复机制。当一个服务器出现故障时,其他服务器可以通过投票的方式来决定是否要移除该服务器。如果超过半数的服务器同意移除,那么该服务器就会被从集群中移除。
作者其他创作
大纲/内容
FOLLOWING
Leader选举
Follower
LOOKING(初始化状态)
LEADING
Leader崩溃或失去连接
sendqueue
Commit
WorkerReceiver
Ack
recvQueue
FastLeaderElection
Proposal (with ZXID)
recvqueue
选举算法
Leader
sendqueue:选票发送队列WorkerSender:选票发送器queueSendMap:消息发送队列recvqueue:选票接收队列WorkReceiver:选票接收器recvQueue:消息接收队列RecvWorker:消息接收器SendWorker:消息发送器
WorkerSender
RecvWorker
SendWorker
queueSendMap
Newwork I/O
QuorumCnxManager
0 条评论
下一页
为你推荐
查看更多