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