Zookeeper學習

Zookeeper 是 Google 的 Chubby一個開源的實現,是 Hadoop 的分佈式協調服務

Zookeeper的角色

領導者(leader),負責進行投票的發起和決議,更新系統狀態

學習者(learner),包括跟隨者(follower)和觀察者(observer),follower用於接受客戶端請求並想客戶端返回結

果,在選主過程中參與投票

Observer可以接受客戶端連接,將寫請求轉發給leader,但observer不參加投票過程,只同步leader的狀

態,observer的目的是爲了擴展系統,提高讀取速度

客戶端(client),請求發起方


Zookeeper的數據模型

層次化的目錄結構,命名符合常規文件系統規範

每個節點在zookeeper中叫做znode,並且其有一個唯一的路徑標識

節點Znode可以包含數據和子節點,但是EPHEMERAL類型的節點不能有子節點

Znode中的數據可以有多個版本,比如某一個路徑下存有多個數據版本,那麼查詢這個路徑下的數據就需要帶上版本

客戶端應用可以在節點上設置監視器

節點不支持部分讀寫,而是一次性完整讀寫

Zookeeper的節點

Znode有兩種類型,短暫的(ephemeral)和持久的(persistent)

Znode的類型在創建時確定並且之後不能再修改

短暫znode的客戶端會話結束時,zookeeper會將該短暫znode刪除,短暫znode不可以有子節點

持久znode不依賴於客戶端會話,只有當客戶端明確要刪除該持久znode時纔會被刪除

Znode有四種形式的目錄節點,PERSISTENT(持久)、PERSISTENT_SEQUENTIAL(持久有序)、

EPHEMERAL(短暫)、

EPHEMERAL_SEQUENTIAL(短暫有序)




未完待續。。。






發佈了84 篇原創文章 · 獲贊 3 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章