目錄
一、什么是Zab協(xié)議
二、Zab協(xié)議的4個階段
1、選舉階段(Leader Election)
2、發(fā)現(xiàn)階段(Discovery)
3、同步階段(Synchronization)
4、廣播階段(Broadcase)
ZAB協(xié)議,全稱 Zookeeper Atomic Broadcast(Zookeeper 原子廣播協(xié)議)。它是專門為分布式協(xié)調(diào)服務(wù)——Zookeeper,設(shè)計的一種支持崩潰恢復(fù)和原子廣播的協(xié)議。
當(dāng)leader崩潰或者集群中參與選票的個數(shù)不足一半,表示整個集群對外服務(wù)不可用,需要進(jìn)行崩潰恢復(fù)。
從設(shè)計上看,ZAB協(xié)議和 Raft 很類似。ZooKeeper集群中,只有一個Leader節(jié)點,其余均為Follower節(jié)點。
二、Zab協(xié)議的4個階段在集群選舉開始時,所有節(jié)點都處于選舉當(dāng)某一個節(jié)點的票數(shù)超過半數(shù)節(jié)點后,該節(jié)點將被推選為準(zhǔn)Leader。
選舉段是產(chǎn)生一個準(zhǔn)Leader。只有到達(dá)廣播階段(Broadcast)后,準(zhǔn) Leader 才會成為新
Leader。
在發(fā)現(xiàn)階段,各個 Follower 開始和準(zhǔn) Leader 進(jìn)行同步 Follower 最近接收的事務(wù)提議。這時,準(zhǔn) Leader 會產(chǎn)生一個新的 Epoch,并嘗其他 Follower 接收該 Epoch 后再更新到本地。
發(fā)現(xiàn)階段的一個 Follower只會連接 Leader,如果節(jié)點1認(rèn)為節(jié)點2是Leader,則當(dāng)節(jié)點1嘗試連接節(jié)點2時,如果連接拒絕,則集群會進(jìn)人重新選舉階段。發(fā)現(xiàn)階段的主要目的是發(fā)現(xiàn)當(dāng)前大多數(shù)節(jié)點接收最新提議。
同步階段主要是將 Leader 在前一階段獲得的最提議信息同步到集群中所有的副本,只有當(dāng)半數(shù)以上的節(jié)點都同步完成時,準(zhǔn) Leader會成為真正的 Leader。
Follower 只會接收 Zxid 比自己的 lastZxid 大的提議。同步階段完成后集群選主的操作才完成,新的Leader將產(chǎn)生
4、廣播階段(Broadcase)到了這個階段,Zookeeper集群才會正式對外提供事務(wù)服務(wù),并且Leaderkk可以進(jìn)行消息廣播。同時只要有新的節(jié)點加入,還需要對新的節(jié)點進(jìn)行同步。
需要注意的是,ZAB提交事務(wù)并不像2PC一樣需要全部Follower都返回ACK,只需要得到超過半數(shù)的節(jié)點的ACK就可以了。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
當(dāng)前標(biāo)題:【大數(shù)據(jù)入門核心技術(shù)-Zookeeper】(二)ZAB協(xié)議介紹-創(chuàng)新互聯(lián)
鏈接地址:http://chinadenli.net/article20/dgpeco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、營銷型網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、關(guān)鍵詞優(yōu)化、App開發(fā)、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容