Zookeeper知識點

Zookeeper是一個分佈式協調服務node

在這裏插入圖片描述

Zookeeper服務器的角色

Leader: 全部的寫操做必需要通過Leader完成,在廣播給其它服務器。心跳檢測。集羣中只有一個Leader。
Follower: 接收客戶端鏈接,處理客戶端的讀請求,並將寫請求轉發給Leader處理。參與投票。
Observer: 與Follower相似,但不參與投票。面試

Zookeeper服務器的狀態

Looking: 競選狀態。該狀態下服務器認爲集羣中沒有Leader,會發起Leader選舉。
Following: 跟隨者狀態。代表當前服務器角色是Follwer。
Leading: 領導者狀態。代表當前服務器角色是Leader。
Observing: 代表當前服務器角色是Observer。數據庫

術語介紹

myid服務器

myid就是服務器的id。在配置文件中「server.id=host:port:port」,其中「server.」後面的就是myid。例如:網絡

tickTime=2000
dataDir=/var/lib/zookeeper/
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888

zxid架構

相似關係型數據庫中的事務ID,用於標識一次更新操做。zxid是單調遞增的。zxid越大,表明Server對Znode的操做越新。運維

邏輯時鐘分佈式

每一個服務器會維護一個自增的整數,名爲邏輯時鐘(又叫投票次數),它表示這是該服務器發起的第多少輪投票。同一輪投票過程當中的邏輯時鐘值是相同的。每投完一次票這個數據就會增長,而後與接收到的其它服務器返回的投票信息中的數值相比,根據不一樣的值作出不一樣的判斷。oop

兩種狀況須要進行Leader選舉大數據

1.服務器初始化啓動
2.
2.服務器運行期間沒法和Leader保持鏈接,Leader節點崩潰,邏輯時鐘崩潰
通常建議選取奇數個節點進行搭建分佈式服務器集羣

在這裏插入圖片描述

※部分文章來源於網絡,若有侵權請聯繫刪除;更多文章和資料|點擊後方文字直達 ↓↓↓
100GPython自學資料包
阿里雲K8s實戰手冊
[阿里雲CDN排坑指南] CDN
ECS運維指南
DevOps實踐手冊
Hadoop大數據實戰手冊
Knative雲原生應用開發指南
OSS 運維實戰手冊
雲原生架構白皮書
Zabbix企業級分佈式監控系統源碼文檔
10G大廠面試題戳領
相關文章
相關標籤/搜索