zab协议介绍
ZAB協(xié)議包含兩種基本模式,分別是
1. 崩潰恢復(fù)
2. 原子廣播
當(dāng)整個集群在啟動時,或者當(dāng)leader節(jié)點出現(xiàn)網(wǎng)絡(luò)中斷、崩潰等情況時,ZAB協(xié)議就會進(jìn)入恢復(fù)模式并選舉產(chǎn)生新的Leader,當(dāng)leader服務(wù)器選舉出來后,并且集群中有過半的機器和該leader節(jié)點完成數(shù)據(jù)同步后(同步指的是數(shù)據(jù)同步,用來保證集群中過半的機器能夠和leader服務(wù)器
的數(shù)據(jù)狀態(tài)保持一致),ZAB協(xié)議就會退出恢復(fù)模式。
當(dāng)集群中已經(jīng)有過半的Follower節(jié)點完成了和Leader狀態(tài)同步以后,那么整個集群就進(jìn)入了消息廣播模式。這個時候,在Leader節(jié)點正常工作時,啟動一臺新的服務(wù)器加入到集群,那這個服務(wù)器會直接進(jìn)入數(shù)據(jù)恢復(fù)模式,和leader節(jié)點進(jìn)行數(shù)據(jù)同步。同步完成后即可正常對外提供非事務(wù)請求的處理。
需要注意的是:leader節(jié)點可以處理事務(wù)請求和非事務(wù)請求,follower節(jié)點只能處理非事務(wù)請求,如果follower節(jié)點接收到非事務(wù)請求,會把這個請求轉(zhuǎn)發(fā)給Leader服務(wù)器
?
總結(jié)
- 上一篇: Zookeeper数据的同步流程
- 下一篇: 消息广播的实现原理