您好,登錄后才能下訂單哦!
1.1 概述
分布式系統:分布式系統指由很多臺計算機組成的一個整體!這個整體一致對外,并且處理同一請求!系統對內透明,對外不透明!內部的每臺計算機,都可以相互通信,例如使用RPC/REST或者是WebService!客戶端向一個分布式系統發送的一次請求到接受到響應,有可能會經歷多臺計算機!
Zookeeper是一個開源的分布式的,為分布式應用提供協調服務的Apache項目,多用作為集群提供服務的中間件!
Zookeeper從設計模式角度來理解:是一個基于觀察者模式設計的分布式服務管理框架,它負責存儲和管理大家都關心的數據,然后接受觀察者的注冊,一旦這些數據的狀態發生變化,Zookeeper就將負責通知已經在Zookeeper上注冊的那些觀察者做出相應的反應,從而實現集群中類似Master/Slave管理模式
Zookeeper=文件系統+通知機制
1.2 特點
1)一致性:zookeeper中的數據按照順序分批入庫,且最終一致!
2)原子性:一次數據更新要么成功,要么失敗。
3)單一視圖:全局數據一致,每個server保存一份相同的數據副本,client無論連接到哪個server,數據都是一致的。
4)可靠性:每次對zk的操作狀態都會保存到服務端,每個server保存一份相同的數據副本。
5)更新請求順序進行,來自同一個client的更新請求按其發送順序依次執行。
6)實時性,在一定時間范圍內,client能讀到最新數據。
7)集群中只要有半數以上節點存活,Zookeeper集群就能正常服務(集群選擇奇數的原因)。
1.3 數據結構
ZooKeeper數據模型的結構與Unix文件系統很類似,整體上可以看作是一棵樹,每個節點稱做一個ZNode。每個Znode可以類似看作是一個目錄,其下可以創建子目錄。
很顯然zookeeper集群自身維護了一套數據結構。這個存儲結構是一個樹形結構,其上的每一個節點,我們稱之為"znode",每一個znode默認能夠存儲1MB的數據,每個ZNode都可以通過其路徑唯一標識
1.4 應用場景
提供的服務包括:分布式消息同步和協調機制、服務器節點動態上下線、統一配置管理、負載均衡、集群管理等
統一命名服務
統一配置管理
統一集群管理
服務器動態上下線
軟負載均衡
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。