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