https://www.w3cschool.cn/zookeeper/
Apach zookeeper是由集羣使用的一種服務,用於在自身之間協調,並通過穩健的同步技術維護共享數據,zookeeper本身是一個分佈式應用程序,爲寫入分佈應用程序提供服務。
zookeeper提供的常見服務:
-命名服務:按名稱標識集羣中節點,類似於dns,僅對於節點
-配置管理:加入節點的最近和最新的配置信息
-集羣管理:實時地在集羣和節點狀態中加入/離開節點
-選舉算法:選舉一個節點作爲協調目的的leader
- 鎖定和同步服務:在修改數據的同時鎖定數據。此機制可幫助你在連接其他分佈式應用程序(如apach hbase)中進行自動故障修復
高度可靠的數據註冊表:在部分節點關閉時仍可以獲取數據,保持集羣服務正常運行。
zookeeper的好處:
-簡單的分佈式協調過程
-同步:服務器進程相互排斥和協作,
-有序的消息
-序列化:按特定規則對數據編碼,確保應用程序運行一致。這種方法可以在MapReduce中協調隊列中的運行程序。
-可靠性
- 原子性:數據完全成功或完全失敗
與zookeper相關的分佈式應用:hadoop(大數據框架),hbase(nosql數據庫),solr(分佈式搜索引擎)