一、Zookeeper介紹
Zookeeper是一個分布式協調服務,它提供了配置管理、分布式鎖、集群服務等功能。在大數據領域中kafka、Hbase都是使用Zookeeper作為分布式協調服務,來管理集群狀態(tài)的。知名的Rpc框架Dubbo也是用Zookeeper作為配置管理組件的。
二、Zookeeper的作用
1、集群管理
在分布式集群中,可能由于網絡原因、機器故障等情況,需要動態(tài)的增刪節(jié)點,那么集群中節(jié)點變更,節(jié)點感知就需要一個類似于中心化的服務將變更的節(jié)點通知到集群里的各個角色。這時候zookeeper就可以排上用場了,在kafka中,zookeeper用來管理kafka集群的信息,以及consume相關的信息。
2、分布式鎖
分布式鎖的場景主要也是用在分布式服務中,多節(jié)點中想要鎖住共享資源,zookeeper是其中的一個選擇,使用zookeeper實現分布式鎖主要用了它的臨時序列節(jié)點的機制
3、配置管理
在分布式的應用中,具有非常多配置,怎樣做到多節(jié)點統(tǒng)一配置,統(tǒng)一更新那就需要一個中心化的協調服務,將配置的變更通知到集群中的所有節(jié)點,zookeeper可以做到這一點,說到配置管理,還有一個很強大的開源組件Apollo,在配置管理方面,它更加強大。另外知名的rpc框架dubbo將調用方和服務方相關配置存儲到zookeeper中,用于實現服務治理。
三、分布式協調
1、數據模型和名稱空間
Zookeeper的數據模型比較簡單,類似于操作系統(tǒng)文件目錄結構,具有配額限制,權限控制,層次結構等。
2、分布式環(huán)境下如何協調
分布式環(huán)境下各個進程之間通過共享的分層名稱空間進行相互協調,zookeeper的數據是存儲在內存中,因此它具有高吞吐量和低延遲的特性。
更多關于“網絡安全培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業(yè)需求,更科學更嚴謹,每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。