www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 公眾號精選 > 架構師社區(qū)
[導讀]Zookeeper 是一個分布式服務框架,主要是用來解決分布式應用中遇到的一些數(shù)據(jù)管理問題如: 統(tǒng)一命名服務 、 狀態(tài)同步服務 、 集群管理 、 分布式應用配置項的管理 等。我們可以簡單把 Zookeeper 理解為分布式家庭的大管家,那么管家團隊是如何選出 Leader的呢?接下來帶領大家一探究竟。

Zookeeper 是一個分布式服務框架,主要是用來解決分布式應用中遇到的一些數(shù)據(jù)管理問題如: 統(tǒng)一命名服務 狀態(tài)同步服務 、 集群管理 、 分布式應用配置項的管理 等。
我們可以簡單把 Zookeeper 理解為分布式家庭的大管家,那么管家團隊是如何選出 Leader的呢?好奇嗎,接下來帶領大家一探究竟。

人類選舉的基本原理

講解 Zookeeper 選舉過程前先來介紹一下人類的選舉。

我們每個人或多或少都經(jīng)歷過幾次選舉,在投票的過程中可能會遇到這樣幾種情況:

情況1:自己與幾個候選人都比較熟,你會將票投給你認為能力比較強的人

用大白話給你解釋Zookeeper的選舉機制
熟人選舉

情況2:自己也是候選人,并且與其他幾個候選人都不熟,這個時候你肯定想著要去拉票,因為覺得自己才是最厲害的人呀,所有人都應該把票投給我。但是遺憾的是在拉票的過程中,你發(fā)現(xiàn)別人比你強,你開始自卑了,最終還是把票投給了自己認為最強的人。

用大白話給你解釋Zookeeper的選舉機制
自己參與選舉

所有人都投完票之后,最后從投票箱中進行統(tǒng)計,獲得票數(shù)最多的人當選。

用大白話給你解釋Zookeeper的選舉機制
思維導圖

在整個投票過程中我們可以提煉出四個最核心的概念:

  • 候選人能力:投票的基本原則是選最強的人。
  • 遇強改投:如果后面發(fā)現(xiàn)更強的人可以改投票。
  • 投票箱:所有人的票都會放在投票箱。
  • 領導者:得票最多的人即為領導者。

從人類選舉的原理我們來簡單推導一下Zookeeper的選舉原理。

Zookeeper選舉的基本原理

注意如果 Zookeeper 是單機部署是不需要選舉的,集群模式下才需要選舉。

Zookeeper 的選舉原理和人類選舉的邏輯類似,套用一下人類選舉的四個基本概念詳細解釋一下Zookeeper。

  • 個人能力

如何衡量 Zookeeper 節(jié)點個人能力?答案是靠數(shù)據(jù)是否夠新,如果節(jié)點的數(shù)據(jù)越新就代表這個節(jié)點的個人能力越強,是不是感覺很奇怪,就是這么定的!

在 Zookeeper 中通常是以事務id(后面簡稱zxid)來標識數(shù)據(jù)的新舊程度(版本),節(jié)點最新的zxid越大代表這個節(jié)點的數(shù)據(jù)越新,也就代表這個節(jié)點能力越強。

zxid 的全稱是 ZooKeeper Transaction Id,即 Zookeeper 事務id。

  • 遇強改投

在集群選舉開始時,節(jié)點首先認為自己是最強的(即數(shù)據(jù)是最新的),然后在選票上寫上自己的名字(包括zxidsid),zxid 是事務id,sid 唯一標識自己。

緊接著會將選票傳遞給其他節(jié)點,同時自己也會接收其他節(jié)點傳過來的選票。每個節(jié)點接收到選票后會做比較,這個人是不是比我強(zxid比我大),如果比較強,那我就需要改票,明明別人比我強,我也不能厚著臉皮對吧。

  • 投票箱

與人類選舉投票箱稍微有點不一樣,Zookeeper 集群會在每個節(jié)點的內(nèi)存中維護一個投票箱。節(jié)點會將自己的選票以及其他節(jié)點的選票都放在這個投票箱中。由于選票是互相傳閱的,所以最終每個節(jié)點投票箱中的選票會是一樣的。

  • 領導者

在投票的過程中會去統(tǒng)計是否有超過一半的選票和自己選擇的是同一個節(jié)點,即都認為某個節(jié)點是最強的。一旦集群中有超過半數(shù)的節(jié)點都認為某個節(jié)點最強,那該節(jié)點就是領導者了,投票也宣告結束。

什么場景下 Zookeeper 需要選舉?

當 Zookeeper 集群中的一臺服務器出現(xiàn)以下兩種情況之一時,需要進入 Leader 選舉。

(1)服務器初始化啟動。

(2)服務器運行期間 Leader 故障。

啟動時期的 Leader 選舉

假設一個 Zookeeper 集群中有5臺服務器,id從1到5編號,并且它們都是最新啟動的,沒有歷史數(shù)據(jù)。

用大白話給你解釋Zookeeper的選舉機制
集群剛啟動選舉過程

假設服務器依次啟動,我們來分析一下選舉過程:

(1)服務器1啟動

發(fā)起一次選舉,服務器1投自己一票,此時服務器1票數(shù)一票,不夠半數(shù)以上(3票),選舉無法完成。

投票結果:服務器1為1票。

服務器1狀態(tài)保持為LOOKING。

(2)服務器2啟動

發(fā)起一次選舉,服務器1和2分別投自己一票,此時服務器1發(fā)現(xiàn)服務器2的id比自己大,更改選票投給服務器2。

投票結果:服務器1為0票,服務器2為2票。

服務器1,2狀態(tài)保持LOOKING

(3)服務器3啟動

發(fā)起一次選舉,服務器1、2、3先投自己一票,然后因為服務器3的id最大,兩者更改選票投給為服務器3;

投票結果:服務器1為0票,服務器2為0票,服務器3為3票。此時服務器3的票數(shù)已經(jīng)超過半數(shù)(3票),服務器3當選Leader

服務器1,2更改狀態(tài)為FOLLOWING,服務器3更改狀態(tài)為LEADING。

(4)服務器4啟動

發(fā)起一次選舉,此時服務器1,2,3已經(jīng)不是LOOKING 狀態(tài),不會更改選票信息。交換選票信息結果:服務器3為3票,服務器4為1票。此時服務器4服從多數(shù),更改選票信息為服務器3。

服務器4并更改狀態(tài)為FOLLOWING。

(5)服務器5啟動

與服務器4一樣投票給3,此時服務器3一共5票,服務器5為0票。

服務器5并更改狀態(tài)為FOLLOWING。

最終的結果

服務器3是 Leader,狀態(tài)為 LEADING;其余服務器是 Follower,狀態(tài)為 FOLLOWING。

運行時期的Leader選舉

在 Zookeeper運行期間 Leader非 Leader 各司其職,當有非 Leader 服務器宕機或加入不會影響 Leader,但是一旦 Leader 服務器掛了,那么整個 Zookeeper 集群將暫停對外服務,會觸發(fā)新一輪的選舉。

初始狀態(tài)下服務器3當選為Leader,假設現(xiàn)在服務器3故障宕機了,此時每個服務器上zxid可能都不一樣,server1為99,server2為102,server4為100,server5為101

用大白話給你解釋Zookeeper的選舉機制
集群 Leader 節(jié)點故障

運行期選舉與初始狀態(tài)投票過程基本類似,大致可以分為以下幾個步驟:

(1)狀態(tài)變更。Leader 故障后,余下的非 Observer 服務器都會將自己的服務器狀態(tài)變更為LOOKING,然后開始進入Leader選舉過程。

(2)每個Server會發(fā)出投票。

(3)接收來自各個服務器的投票,如果其他服務器的數(shù)據(jù)比自己的新會改投票。

(4)處理和統(tǒng)計投票,每一輪投票結束后都會統(tǒng)計投票,超過半數(shù)即可當選。

(5)改變服務器的狀態(tài),宣布當選。

話不多說先來一張圖:

用大白話給你解釋Zookeeper的選舉機制
運行器 Leader 故障后選舉流程

(1)第一次投票,每臺機器都會將票投給自己。

(2)接著每臺機器都會將自己的投票發(fā)給其他機器,如果發(fā)現(xiàn)其他機器的zxid比自己大,那么就需要改投票重新投一次。比如server1 收到了三張票,發(fā)現(xiàn)server2的xzid為102,pk一下發(fā)現(xiàn)自己輸了,后面果斷改投票選server2為老大。

選舉機制中涉及到的核心概念

敲黑板了,這些概念是面試必考的。

(1)Server id(或sid):服務器ID

比如有三臺服務器,編號分別是1,2,3。編號越大在選擇算法中的權重越大,比如初始化啟動時就是根據(jù)服務器ID進行比較。

(2)Zxid:事務ID

服務器中存放的數(shù)據(jù)的事務ID,值越大說明數(shù)據(jù)越新,在選舉算法中數(shù)據(jù)越新權重越大。

(3)Epoch:邏輯時鐘

也叫投票的次數(shù),同一輪投票過程中的邏輯時鐘值是相同的,每投完一次票這個數(shù)據(jù)就會增加。

(4)Server狀態(tài):選舉狀態(tài)

LOOKING,競選狀態(tài)。

FOLLOWING,隨從狀態(tài),同步leader狀態(tài),參與投票。

OBSERVING,觀察狀態(tài),同步leader狀態(tài),不參與投票。

LEADING,領導者狀態(tài)。

總結

(1)Zookeeper 選舉會發(fā)生在服務器初始狀態(tài)和運行狀態(tài)下。

(2)初始狀態(tài)下會根據(jù)服務器sid的編號對比,編號越大權值越大,投票過半數(shù)即可選出Leader。

(3)Leader 故障會觸發(fā)新一輪選舉,zxid 代表數(shù)據(jù)越新,權值也就越大。

(4)在運行期選舉還可能會遇到腦裂的情況,大家可以自行學習。

特別推薦一個分享架構+算法的優(yōu)質(zhì)內(nèi)容,還沒關注的小伙伴,可以長按關注一下:

用大白話給你解釋Zookeeper的選舉機制

用大白話給你解釋Zookeeper的選舉機制

用大白話給你解釋Zookeeper的選舉機制

長按訂閱更多精彩▼

用大白話給你解釋Zookeeper的選舉機制

如有收獲,點個在看,誠摯感謝

免責聲明:本文內(nèi)容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉