Zookeeper是一個分佈式協調服務node
Leader: 全部的寫操做必需要通過Leader完成,在廣播給其它服務器。心跳檢測。集羣中只有一個Leader。
Follower: 接收客戶端鏈接,處理客戶端的讀請求,並將寫請求轉發給Leader處理。參與投票。
Observer: 與Follower相似,但不參與投票。面試
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大廠面試題戳領