zookeeper簡介
在深入學習zookeeper之前,了解zookeeper的基礎知識是很有必要的。
什麼是zookeeper
zookeeper是面向分布式應用程式的分布式開源協調服務。
為什麼要使用zookeeper
分布式應用程式提供了很多好處,但凡事有利就有弊。分布式應用中常出現競爭條件、死鎖、資料不一致等問題。
面臨這些問題,協調和管理分布式應用程式勢在必行。在分布式環境中協調和管理應用是乙個複雜的過程。zookeeper通過其簡單的架構和api解決了這個問題。zookeeper允許開發人員專注於核心應用程式邏輯,而不必擔心應用程式的分布式特性。
zookeeper提供的服務
命名服務:按名稱標識集群中的節點。 配置管理:加入節點的最近的和最新的系統配置資訊。 集群管理:實時地在集群和節點狀態中加入/刪除節點。 選舉演算法: 選舉乙個節點作為leader。 鎖定和同步服務:在修改資料的同時鎖定資料。 高度可靠的資料登錄檔:即使在乙個或幾個節點關閉時也可以獲得資料。
zookeeper特點
資料模型簡單
zookeeper通過一種和檔案系統很像的層級命名空間來讓分布式程序互相協同工作。命名空間由資料暫存器(znode)組成,以zookeeper的說法,znode相當於檔案系統的檔案和目錄。與檔案系統不同,zookeeper資料儲存在記憶體中,這意味著zookeeper可以實現高吞吐量和低延遲。
高可用性
與zookeeper所協調的分布式程序一樣,zookeeper服務本身也部署在多台主機上。構成zookeeper服務的伺服器必須相互了解。它們維護乙個記憶體狀態的影象,以及乙個持久化的事務日誌和快照。只要大部分伺服器都可用,zookeeper服務將可用。客戶端連線到一台zookeeper伺服器。並維持乙個tcp連線,通過它傳送請求,獲取響應,獲取監視事件並傳送心跳。如果tcp連線中斷,客戶端將連線到另一台伺服器。
有序性
zookeeper使用反映所有zookeeper事務順序的數字對每個更新進行標記。後續操作可以使用數字順序來實現更高階別的抽象,例如同步。
速度快
zookeeper的高效更多地表現在以讀為主的系統上。zookeeper可以在數千台伺服器組成的讀寫比例大約為10:1的分布系統上效能表現最佳。
zookeeper優點
簡單的分布式協調過程 順序一致性。來自client的命令有序執行。 同步:伺服器程序之間的相互排斥和協作。 序列化:根據特定規則對資料進行編碼。確保應用程式執行一致。 可靠性: 一旦更新被應用,它將一直持續到client覆蓋更新。 原子性:更新是原子的 單系統映像 - 無論伺服器連線到哪個伺服器,客戶端都會看到相同的服務檢視。 及時性 - client看到的伺服器檢視在一定的時間範圍內保證是最新的。
zookeeper簡單的api操作
zookeeper提供的api非常簡單,它只支援這些操作:
create。在樹中的乙個位置建立乙個節點 delete。刪除乙個節點 exists。測試節點是否存在於某個位置 get data。從節點讀取資料 set data。將資料寫入節點 get children。檢索乙個節點的子節點列表 sync。等待資料傳播
zookeeper介紹節應用
1.什麼是zookeeper zookeeper 是乙個分布式的服務框架,是apache hadoop下的乙個子專案。2.zookeeper解決什麼問題?zookeeper 主要是用來解決分布式應用中經常遇到的一些資料管理問題。如 統一命名服務 狀態同步服務 集群管理 分布式應用配置項的管理等。3....
Zookeeper的基本介紹
一 zookeeper是什麼 zookeeper 是乙個分布式的,開源的分布式應用程式協調服務 官方 二 zookeeper能做什麼 1.配置維護 在分布式系統中,一般會把服務部署到n臺機器上面,服務配置檔案都是相同的,如果配置檔案的配置選項發生了改變,那我們就得一台一台的去改變這些配置檔案。這時z...
Zookeeper安裝和介紹
先認識幾個概念 1 分布式架構 分布 在一定的範圍內散佈開 反義詞 集中 集中式架構 就是把所有的程式 功能 模組都集中到乙個專案中,部署在一台伺服器上,從而對外提供服務 單體架構 單體服務 單體應用 直白一點 就是只有乙個專案,只有乙個war 分布式架構 就是把所有的程式 功能 模組拆分成不同的子...