您好,登錄后才能下訂單哦!
本篇內容介紹了“zookeeper的概述及特點”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Apache ZooKeeper是Apache Software Foundation的一個軟件項目。它本質上是分布式系統到分層鍵值存儲的集中服務,用于為大型分布式系統 提供分布式配置服務,同步服務 和 命名注冊表。 ZooKeeper是Hadoop的一個子項目,但它本身就是一個頂級的Apache項目。
Zookeeper從設計模式角度來理解:是一個基于觀察者模式設計的分布式服務管理框架,它負 責存儲和管理大家都關心的數據,然后 接受觀察者的注冊,一旦這些數據的狀態發生變化,Zookeeper就將 負責通知已經在Zookeeper上注冊的那些觀察者 做出相應的反應,從而實現集群中類似Master/Slave管理模式
1. zookeeper: 一個領導者(leader),多個跟隨者(floower)組成集群。
2. Leader負責進行投票的發起和決議,更新系統狀態。
3. Follwer用于接收客戶請求并向客戶端返回結果,在選舉Leader過程中參與投票。
4. 集群中只要有半數以上節點存活,zookeeper集群就能正常服務。
5. 全局數據唯一:每個server保存一份相同的數據副本,client無論連接哪個server,數據都是一致的。
6. 更新請求順序進行,來自同一個client的更新請求按其發送順序依次執行。
7. 數據更新原子性,一次數據更新要么成功,要么失敗。
8. 實時性,在一定時間范圍內,client能讀到最新數據。
ZooKeeper數據模型的結構與 Unix文件系統很類似,整體上可以看作是一棵樹,每個節點稱做一個ZNode。每一個ZNode默認能夠存儲1MB的數據,每個ZNode都可以 通過其路徑唯一標識。
提供了服務包括 : 統一命名服務、統一配置管理、統一集群管理、服務節點動態上下線。軟負載均衡等。
在分布式環境下,經常需要對應用/服務統一命名,便于識別。
例如 : IP不容易記住,而域名容易記住。
分布式環境中,一般要求一個集群中,所有節點的配置信息都是一致的,比如kafka集群。配置文件修改后需要快速同步到各個節點上,這是可將配置信息寫入zookeeper上的一個Znode上,各個客戶端服務器監聽這個Znode。
“zookeeper的概述及特點”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。