1. 程式人生 > >1.zookeeper基礎知識,結構和執行流程

1.zookeeper基礎知識,結構和執行流程

zookeeper基礎知識

1.單個zookeeper結構

zookeeper結構圖
在這裡插入圖片描述

  1. 每個節點都為znode
  2. znode分為持久節點(客戶端斷開連線後,仍然存在),臨時節點(斷開連線,節點消失,不允許有子節點),順序節點(持久或臨時,編號用於鎖定和同步中)
  3. 每個znode維護一個stat(由版本號,操作控制列表,時間戳,資料長度組成)

znode詳解
在這裡插入圖片描述

2.zookeeper叢集結構

zookeeper叢集結構
在這裡插入圖片描述
1、client

分散式中的一個節點,訪問伺服器的配置資訊,週期性向server傳送心跳包,server向client迴應確認,如果client沒有收到迴應,則重定向到另一個server

2、server

zookeeper中的一個節點,為client提供所需的服務,給client迴應資訊表明自己是存活的

3、leader

連線任何一個節點,如果節點出現故障,leader自動修復,在service啟動時完成leader的選舉

4、follower

聽從leader的指令,完成選舉工作

2.1Leader主要有三個功能:

  1. 恢復資料;
  2. 維持與follower的心跳,接收follower請求並判斷follower的請求訊息型別;
  3. follower的訊息型別主要有PING訊息、REQUEST訊息、ACK訊息、REVALIDATE訊息,根據不同的訊息型別,進行不同的處理。