您好,登錄后才能下訂單哦!
這篇文章主要講解了“Zookeeper中的ZAB協議是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Zookeeper中的ZAB協議是什么”吧!
ZAB協議是為Zookeeper專門設計的一種支持崩潰恢復的消息廣播協議。ZAB協議只允許有一個主進程接受客戶事務請求并處理,即leader。當leader收到請求后,將請求事務轉化為事務proposal,由于leader會為每一個follower創建一個隊列,將該事務放入響應隊列,保證事務的順序性。之后會在隊列中順序向其他節點廣播該提案,follower收到后會將其以事務的形式寫入到本地日志中,并向leader發送反饋ack確認。leader會等待其他followe的回復,當收到一半以上的follower響應時,leader會向其他節點發送commit消息,同時提交該提案。
ZAB有兩種模式,分別為故障恢復模式以及消息廣播。當系統啟動或者leader服務器出現故障等現象時,進入故障恢復模式。將會開啟新的一輪選舉,選舉產生的leader會與過半的follower進行同步,使數據一致。
當同步結束后,退出恢復模式,進入消息廣播模式。當一臺遵從ZAB協議的服務器啟動后,如果檢測到有leader在廣播消息,會自動進入恢復模式,當其完成與leader的同步之后,進入消息廣播模式;如果集群中的非leader節點收到客戶端請求,非leader節點會先將請求發送到leader服務器。
故障恢復發時候,ZAB協議兩個需要保證的地方,第一就是ZAB協議需要保證已經被leader提交的事務最終被所有的機器提交;第二就是需要保證丟棄那些只在leader上提交的事務。為了保證以上兩點,選舉時如果選擇ZXID最大的節點可以解決上述問題。
leader重新選舉的條件是當leader宕機或發生故障,集群中少于一半的節點與當前leader保持連接。
感謝各位的閱讀,以上就是“Zookeeper中的ZAB協議是什么”的內容了,經過本文的學習后,相信大家對Zookeeper中的ZAB協議是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。