怎么簡(jiǎn)單介紹Zookeeper

本篇文章為大家展示了怎么簡(jiǎn)單介紹Zookeeper,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)專(zhuān)注于果洛州網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供果洛州營(yíng)銷(xiāo)型網(wǎng)站建設(shè),果洛州網(wǎng)站制作、果洛州網(wǎng)頁(yè)設(shè)計(jì)、果洛州網(wǎng)站官網(wǎng)定制、小程序開(kāi)發(fā)服務(wù),打造果洛州網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供果洛州網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。

怎么簡(jiǎn)單介紹Zookeeper

什么是Zookeeper?

簡(jiǎn)單來(lái)說(shuō),Zookeeper是一個(gè)開(kāi)源的分布式協(xié)同服務(wù)系統(tǒng),Zookeeper的設(shè)計(jì)目標(biāo)就是把復(fù)雜并且容易出錯(cuò)的分布式協(xié)同服務(wù)進(jìn)行封裝,并抽象出一個(gè)高效可靠的原語(yǔ)接口,并對(duì)外提供一系列簡(jiǎn)單的接口為其他服務(wù)調(diào)用。其他應(yīng)用只要使用Zookeeper提供的接口,就可以實(shí)現(xiàn)各種分布式應(yīng)用。例如:分布式鎖、分布式選舉,主從切換等等。這些案例我們?cè)趯?shí)戰(zhàn)內(nèi)容中會(huì)詳細(xì)說(shuō)明。

Zookeeper發(fā)展史

Zoookeeper最早是雅虎為了解決內(nèi)部多個(gè)系統(tǒng)之間的協(xié)同問(wèn)題而研發(fā)的,后來(lái)將其開(kāi)源并捐贈(zèng)給了Apache組織。后來(lái)Zookeeper在開(kāi)源界被廣泛使用。這里,我列舉幾個(gè)使用了Zookeeper的著名的開(kāi)源項(xiàng)目。

  • Hadoop:使用Zookeeper來(lái)提供NameNode的高可用機(jī)制。

  • HBase:使用Zookeeper來(lái)保證整個(gè)集群中只有一個(gè)Master節(jié)點(diǎn),保存集群中的RegionServer列表,保存hbase:meta表的位置。

  • Kafka:使用Zookeeper來(lái)對(duì)進(jìn)群中的成員進(jìn)行管理,并使用Zookeeper提供controller節(jié)點(diǎn)的選舉機(jī)制。

  • Dubbo:使用Zookeeper來(lái)實(shí)現(xiàn)分布式治理服務(wù)的注冊(cè)中心。

  • SpringCloud:使用Zookeeper來(lái)實(shí)現(xiàn)微服務(wù)注冊(cè)中心。

還有很多使用Zookeeper作為分布式協(xié)同的開(kāi)源項(xiàng)目,由于數(shù)量比較多,這里就不一一列舉了,小伙伴們可以自行通過(guò)網(wǎng)絡(luò)查閱。

Zookeeper應(yīng)用場(chǎng)景

簡(jiǎn)單點(diǎn)說(shuō),Zookeeper可以應(yīng)用于以下場(chǎng)景當(dāng)中。

  • 配置管理。

  • DNS服務(wù)。

  • 組成員管理。

  • 各種分布式鎖。

  • 分布式選舉。

  • 數(shù)據(jù)一致性場(chǎng)景。

但是,需要注意的是:Zookeeper只適合于存儲(chǔ)和協(xié)同相關(guān)的關(guān)鍵數(shù)據(jù),不適合用來(lái)存儲(chǔ)大數(shù)據(jù)量的數(shù)據(jù)。

Zookeeper服務(wù)的使用

一般情況下,我們?cè)谑褂肸ookeeper時(shí),是通過(guò)Zookeeper庫(kù)來(lái)連接并使用Zookeeper的,由Zookeeper客戶端負(fù)責(zé)和Zookeeper集群進(jìn)行交互。

怎么簡(jiǎn)單介紹Zookeeper

Zookeeper的數(shù)據(jù)模型

從本質(zhì)上講,Zookeeper的數(shù)據(jù)模型是層次模型,如下所示。

怎么簡(jiǎn)單介紹Zookeeper

這種層次模型常見(jiàn)于文件系統(tǒng),而這種層次模型和Key-Value模型是兩種主流的數(shù)據(jù)模型。Zookeeper使用文件系統(tǒng)模型主要的考慮點(diǎn)如下。

  • 文件系統(tǒng)的樹(shù)形結(jié)構(gòu)便于表達(dá)數(shù)據(jù)之間的層次關(guān)系。

  • 文件系統(tǒng)的樹(shù)形結(jié)構(gòu)便于為不同的應(yīng)用分配獨(dú)立的命名空間。

在Zookeeper中,層次結(jié)構(gòu)的每個(gè)節(jié)點(diǎn)叫做znode,它不同于文件系統(tǒng),每個(gè)節(jié)點(diǎn)都可以保存數(shù)據(jù),而且每個(gè)節(jié)點(diǎn)都有一個(gè)版本號(hào),版本號(hào)從0開(kāi)始遞增計(jì)數(shù)。

接下來(lái),我們?cè)賮?lái)看一個(gè)Zookeeper節(jié)點(diǎn)的具體示例。

怎么簡(jiǎn)單介紹Zookeeper

例如,上圖中有三個(gè)子樹(shù),三個(gè)子樹(shù)分別應(yīng)用于app1、app2和app3三個(gè)應(yīng)用。其中app1的子樹(shù)實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的組成員協(xié)議,也就是每個(gè)客戶端進(jìn)行p創(chuàng)建一個(gè)znode在/app1節(jié)點(diǎn)下,而且每個(gè)進(jìn)程創(chuàng)建的znode是以/app1/p_1,/app1/p_2,...,/app1/p_n  這種結(jié)構(gòu)依次存放。只要 /app1/p_n 節(jié)點(diǎn)存在,就說(shuō)明Pn進(jìn)程在正常的運(yùn)行。

Zookeeper的節(jié)點(diǎn)分類(lèi)

總體來(lái)說(shuō),Znode節(jié)點(diǎn)可以分為以下四類(lèi)。

怎么簡(jiǎn)單介紹Zookeeper

一個(gè)Znode節(jié)點(diǎn)可以是持久性的,也可以是臨時(shí)性的。

持久性的Znode:創(chuàng)建節(jié)點(diǎn)后即使Zookeeper集群宕機(jī),或者Zookeeper客戶端宕機(jī),節(jié)點(diǎn)也不會(huì)丟失。

臨時(shí)性的Znode:Zookeeper客戶端宕機(jī)或者客戶端在指定的超時(shí)時(shí)間內(nèi)沒(méi)有給Zookeeper集群發(fā)送消息,那么這個(gè)節(jié)點(diǎn)就會(huì)消失。

Znode節(jié)點(diǎn)也可以是順序性的,所謂的順序性,就是指每個(gè)節(jié)點(diǎn)會(huì)關(guān)聯(lián)一個(gè)唯一的單調(diào)遞增整數(shù),這個(gè)單調(diào)遞增的整數(shù)就是Znode節(jié)點(diǎn)名稱(chēng)的后綴,比如:/app1/p_1,/app1/p_2等,由此,Znode又有如下兩種分類(lèi):

持久順序性的Znode:除了具備持久性的Znode的特性之外,Znode的名稱(chēng)還具備順序性。

臨時(shí)順序性的Znode:除了具備臨時(shí)性的Znode的特性之外,Znode的名稱(chēng)還具備順序性。

上述內(nèi)容就是怎么簡(jiǎn)單介紹Zookeeper,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁(yè)標(biāo)題:怎么簡(jiǎn)單介紹Zookeeper
當(dāng)前路徑:http://bm7419.com/article26/pcehcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)用戶體驗(yàn)、自適應(yīng)網(wǎng)站、靜態(tài)網(wǎng)站、小程序開(kāi)發(fā)、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)