ZooKeeper之ZAB协议

一、解释ZAB(借鉴Paxos协议)

Zookeeper Atomic Broadcast(ZooKeeper 原子广播协议)。

 

二、崩溃恢复

Leader的选举过程,通过zxid最大的会被从新选举为Leader,然后基于该Leader同步数据到Flower。

 

三、原子广播

客户端写数据都是通过Leader来做的。数据写入Leader队列中,然后广播(消息机制,异步防止阻塞)给Flower让他们ack,当半数的Flower都ack应答成功后Leader发送commit给Flower,当所有收到commit的Flower应答成功后,Leader给客户端发送写成功。该过程zk会产生一个zxid作为事务的编号,该zxid是一个递增的64位数字。

posted @ 2021-02-22 23:11  天蝎(Scorpion)  阅读(66)  评论(0编辑  收藏  举报