ZooKeeper總體架構(gòu)

應(yīng)用使用ZooKeeper客戶端使用ZooKeeper服務(wù),客戶端負(fù)責(zé)和集群的交互。
ZooKeeper集群有兩種模式:

  1. standalone模式
    生產(chǎn)環(huán)境下,一般不使用這個模式。
    集群中有一個獨(dú)立運(yùn)行的ZooKeeper節(jié)點(diǎn)。
  2. quorum模式
    包含多個ZooKeeper節(jié)點(diǎn)。


Session

  • 客戶端會選取集群中某一個節(jié)點(diǎn)建立session。
  • 客戶端可以主動關(guān)閉Session。
  • 如果ZooKeeper節(jié)點(diǎn)沒有在session關(guān)聯(lián)的timeout時間內(nèi)收到客戶端消息,節(jié)點(diǎn)會主動關(guān)閉session。
  • 客戶端如果發(fā)現(xiàn)連接的節(jié)點(diǎn)出錯,會自動和其他節(jié)點(diǎn)建立連接


quorum模式

quorum模式集群包含多個幾節(jié)點(diǎn)。
下圖所示,集群有三個節(jié)點(diǎn),節(jié)點(diǎn)1時leader,節(jié)點(diǎn)2和節(jié)點(diǎn)3時follower節(jié)點(diǎn)。

  • leader幾點(diǎn)可以處理讀寫請求。
  • follower只能處理讀請求。
  • follower在接到寫請求時,會將其轉(zhuǎn)發(fā)給leader節(jié)點(diǎn)處理。


數(shù)據(jù)一致性

  • 全局線性寫入:先到達(dá)leader的寫請求仙貝處理,leader決定寫請求的執(zhí)行順序。
  • 客戶端FIFO順序:來自給定客戶端的順序按照發(fā)送順序執(zhí)行。

3節(jié)點(diǎn)的quorum模式集群演示

  • 配置文件
    需要準(zhǔn)備三個配置文件,dataDir和clientPort需要配置不同的值。
    三個配置文件的server.n部分是一樣的。
    server.1 = 127.0.0.1:3333:4444中,3333是用于quorum通信的端口,3334是用于leader選舉的端口。

還要為每個節(jié)點(diǎn)創(chuàng)建myid文件,3個節(jié)點(diǎn)的myid文件內(nèi)容分別為1、2和3。

  • 啟動集群


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容