zookeeper理論學(xué)習(xí)(paxos和Zab協(xié)議)

為什么要使用zookeeper(chubby開源實(shí)現(xiàn))— 動(dòng)物園管理員

  • 協(xié)調(diào)分布式環(huán)境下的服務(wù)

  • 解決分布式環(huán)境中的問題

    1. 分布式環(huán)境下無法保證順序執(zhí)行

    2. 分布式環(huán)境下無法明確執(zhí)行結(jié)果(可能由于網(wǎng)絡(luò)的波動(dòng),無法判斷結(jié)果是否執(zhí)行成功)

    3. 無法保證數(shù)據(jù)一致性

  • 應(yīng)用

    • 和dubbo配合保證多點(diǎn)服務(wù)的可用性

    • hadoop確保整個(gè)集群只有一個(gè)NameNode,存儲(chǔ)配置信息等

    • HBASE確保整個(gè)集群只有一個(gè)HMaster

  1. Paxos

    1. 文章 https://blog.csdn.net/dajiangtai007/article/details/68488701

      1. 有一個(gè)叫做Paxos的小島(Island)上面住了一批居民孕蝉,島上面所有的事情由一些特殊的人決定鹊奖,他們叫做議員(Senator)橄仆。

      2. 議員的總數(shù)(SenatorCount)是確定的碘箍,不能更改屁药。

      3. 島上每次環(huán)境事務(wù)的變更都需要通過一個(gè)提議(Proposal)虑瀑,每個(gè)提議都有一個(gè)編號(hào)(PID)馆纳,這個(gè)編號(hào)是一直增長的,不能倒退糠亩。

      4. 每個(gè)提議都需要超過半數(shù)((SenatorCount)/2+1)的議員同意才能生效虐骑。

      5. 每個(gè)議員只會(huì)同意大于當(dāng)前編號(hào)的提議,包括已生效的和未生效的削解。

      6. 如果議員收到小于等于當(dāng)前編號(hào)的提議富弦,他會(huì)拒絕沟娱,并告知對(duì)方:你的提議已經(jīng)有人提過了氛驮。這里的當(dāng)前編號(hào)是每個(gè)議員在自己記事本上面記錄的編號(hào),他不斷更新這個(gè)編號(hào)济似。整個(gè)議會(huì)不能保證所有議員記事本上的編號(hào)總是相同的矫废。 現(xiàn)在議會(huì)有一個(gè)目標(biāo):保證所有的議員對(duì)于提議都能達(dá)成一致的看法。

    2. 理解zookeeper原理

      1. image.png
      2. 角色說明

        1. leader(只有這個(gè)角色能提出proposal砰蠢,保證提議的順序)

        2. server(議員)

        3. client(客戶端)

        4. proposal 提議(znode)

        5. zxid 編號(hào)

    3. 場(chǎng)景

      1. client找議員(server)詢問(查詢)某一條法令蓖扑,議員回答且同時(shí)聲明自身數(shù)據(jù)不一定是最新的,如需最新數(shù)據(jù)需要clent調(diào)用sync方法確認(rèn)

      2. clent找議員提交一個(gè)法令(create)台舱,議員將建議提交給leader律杠,由leader發(fā)起投票且產(chǎn)生結(jié)果潭流,最終告訴client

      3. leader掛了期間,整個(gè)服務(wù)無法進(jìn)行柜去,直到選出新的leader

    4. CAP —> CA

  2. zab 原子廣播(zookeeper核心)

    1. 數(shù)據(jù)交互圖

      1. image.png

        image.png
      2. 角色

        1. server

          1. leader(投票的發(fā)起和決議,更新狀態(tài))

          2. learner

            1. follower (參與投票灰嫉,接受客戶端請(qǐng)求并返回結(jié)果)

            2. observer 和follower功能一致,但不投票 提高讀取速度

        2. client

      3. 交互過程

        1. request —> (follower 或者 observer) update操作,query操作會(huì)直接返回

        2. request 轉(zhuǎn)給leader 嗓奢, leader自己先更新

        3. leader 向其他的所有follower拋出proposal讼撒,

        4. follower向leader 確認(rèn)ack

        5. leader匯總結(jié)果之后,向所有follower 發(fā)送commit

    2. Zab協(xié)議 zookeeper automatic broadcast 兩種模式

      1. 恢復(fù)(選主)模式股耽,可用性 - 當(dāng)服務(wù)重啟或者在leader崩潰之后根盒,進(jìn)入恢復(fù)模式,當(dāng)leader被選舉出來且大多數(shù)server完成了和leader的狀態(tài)同步后恢復(fù)模式結(jié)束物蝙。

      2. 廣播模式(同步)一致性

    3. 選舉炎滞,不一定非是奇數(shù)臺(tái)

      1. 奇數(shù)和偶數(shù)臺(tái)的容錯(cuò)是一樣的,沒有必要用偶數(shù)臺(tái)诬乞,節(jié)省資源(4臺(tái)機(jī)器厂榛,保障集群運(yùn)行的情況下,允許有一臺(tái)掛掉丽惭,3臺(tái)機(jī)器击奶,保障集群運(yùn)行的情況下,允許有一臺(tái)機(jī)器掛掉)

      2. 半數(shù)以上就可以選舉出leader责掏,如果是三臺(tái)機(jī)器柜砾,第二臺(tái)啟動(dòng)的是leader,類推换衬,5臺(tái)的話第三個(gè)啟動(dòng)的就是leader

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末痰驱,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子瞳浦,更是在濱河造成了極大的恐慌担映,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叫潦,死亡現(xiàn)場(chǎng)離奇詭異蝇完,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)矗蕊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門短蜕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人傻咖,你說我怎么就攤上這事朋魔。” “怎么了卿操?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵警检,是天一觀的道長孙援。 經(jīng)常有香客問我,道長扇雕,這世上最難降的妖魔是什么赃磨? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮洼裤,結(jié)果婚禮上邻辉,老公的妹妹穿的比我還像新娘。我一直安慰自己腮鞍,他們只是感情好值骇,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著移国,像睡著了一般吱瘩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上迹缀,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天使碾,我揣著相機(jī)與錄音,去河邊找鬼祝懂。 笑死票摇,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的砚蓬。 我是一名探鬼主播矢门,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼灰蛙!你這毒婦竟也來了祟剔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤摩梧,失蹤者是張志新(化名)和其女友劉穎物延,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仅父,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡叛薯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了驾霜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片案训。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡买置,死狀恐怖粪糙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情忿项,我是刑警寧澤蓉冈,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布城舞,位于F島的核電站,受9級(jí)特大地震影響寞酿,放射性物質(zhì)發(fā)生泄漏家夺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一伐弹、第九天 我趴在偏房一處隱蔽的房頂上張望拉馋。 院中可真熱鬧,春花似錦惨好、人聲如沸煌茴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔓腐。三九已至,卻和暖如春龄句,著一層夾襖步出監(jiān)牢的瞬間回论,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國打工分歇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留傀蓉,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓职抡,卻偏偏與公主長得像僚害,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子繁调,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 聲明:本文寫的時(shí)候萨蚕,當(dāng)時(shí)就是完全不懂zk,邊看網(wǎng)上的文章邊學(xué)習(xí)歸納和整理蹄胰,這不是我的產(chǎn)出岳遥,不用點(diǎn)贊打賞。大家理智友...
    _Zy閱讀 76,042評(píng)論 38 129
  • 一個(gè)真正的寫數(shù)據(jù)流程是怎么樣的裕寨?一個(gè)真正的讀數(shù)據(jù)流程是怎么樣的浩蓉?一個(gè)真正的同步數(shù)據(jù)流程是怎么樣的?從哪里到哪里宾袜?什...
    時(shí)待吾閱讀 4,015評(píng)論 0 14
  • 最近在學(xué)習(xí)ZooKeeper捻艳,一直想寫篇相關(guān)博文記錄下學(xué)習(xí)內(nèi)容,礙于自己是個(gè)拖延癥重度患者總是停留在準(zhǔn)備階段庆猫,直到...
    Lexus90511閱讀 7,930評(píng)論 5 14
  • 今日書單 1认轨、《鴿子拉便便》;2月培、《我要找媽媽》嘁字;3恩急、《嘿 游戲開始》;4纪蜒、《巴巴爸爸的火星旅行》衷恭;5、《佩奇家的...
    蘇望年閱讀 307評(píng)論 0 0
  • 文/叫我十一就好 風(fēng)肆無忌憚的刮著 吹亂了我的頭發(fā) 吹散了我的想法 確認(rèn)過眼神 我卻沒有遇上對(duì)的人 說好的唯一最終...
    叫我十一就好閱讀 324評(píng)論 3 7