版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2021-10-18zookeeperzookeeper學(xué)習(xí)筆記學(xué)習(xí)筆記2014-10-29Page 2 我們都知道,想要打敗一個(gè)強(qiáng)悍的對(duì)手,那你就要尋找他的弱點(diǎn),而要知道他弱點(diǎn),你就得了解他,也許他的弱點(diǎn)只是一個(gè)很小的點(diǎn),但為此你得付出更多。就像一個(gè)黑客,為了找到一個(gè)漏洞,他必須嘗試著用各種方式去嗅探,直到達(dá)到目的。做技術(shù)也是一樣,當(dāng)你遇到一個(gè)問(wèn)題時(shí),比如程序運(yùn)行時(shí)出現(xiàn)異常,你可能要打個(gè)斷點(diǎn),跟蹤這個(gè)程序的運(yùn)行邏輯。也許你可以直接將異常信息復(fù)制到網(wǎng)上搜索答案,但實(shí)際上,只不過(guò)是別人替你去做了那個(gè)工作。 而我關(guān)于zookeeper的學(xué)習(xí)是從dubbo的一個(gè)bug開(kāi)始的,按照下面的任務(wù)順序去學(xué)習(xí)
2、并解決問(wèn)題: 1.dubbo bug ,zkclient共存; 2.zookeeper API的使用; 3.使用zookeeper進(jìn)行配置管理,修改配置不用重啟應(yīng)用。Page 3目錄n簡(jiǎn)單介紹簡(jiǎn)單介紹dubbo+zookeeper1. 概念概念2. zookeeper在在dubbo中的角色中的角色3. dubbo使用使用zookeeper客戶(hù)端的一個(gè)客戶(hù)端的一個(gè)bug4. dubbo同時(shí)使用兩套同時(shí)使用兩套client的解決辦法(沒(méi)有什么意義)的解決辦法(沒(méi)有什么意義)5. 扯一下使用扯一下使用maven插件修復(fù)開(kāi)源應(yīng)用插件修復(fù)開(kāi)源應(yīng)用bug的技巧的技巧nZookeeper1. 概述概述2.
3、典型應(yīng)用場(chǎng)景典型應(yīng)用場(chǎng)景3. 數(shù)據(jù)模型數(shù)據(jù)模型4. 操作操作n 實(shí)現(xiàn)實(shí)現(xiàn)n 一致性一致性1. 會(huì)話(huà)會(huì)話(huà)2. 安裝與配置安裝與配置3. Zookeeper客戶(hù)端客戶(hù)端curator Page 4簡(jiǎn)單介紹dubbo+zookeeperl概念概念1.Dubbo:是一個(gè)分布式服務(wù)框架,致力于提供高性能和透明化的:是一個(gè)分布式服務(wù)框架,致力于提供高性能和透明化的RPC(Remote Procedure Call Protocol)遠(yuǎn)程服務(wù)調(diào)用方案,以及遠(yuǎn)程服務(wù)調(diào)用方案,以及SOA(Service-Oriented Architecture )服務(wù)治理方案。服務(wù)治理方案。2.zookeeper:是一個(gè)分布
4、式協(xié)調(diào)服務(wù)。:是一個(gè)分布式協(xié)調(diào)服務(wù)。Page 5簡(jiǎn)單介紹dubbo+zookeeperl zookeeper在在dubbo中的角色中的角色1. 節(jié)點(diǎn)角色說(shuō)明:節(jié)點(diǎn)角色說(shuō)明: Provider: 暴露服務(wù)的服務(wù)提供方。暴露服務(wù)的服務(wù)提供方。 Consumer: 調(diào)用遠(yuǎn)程服務(wù)的服務(wù)消費(fèi)方。調(diào)用遠(yuǎn)程服務(wù)的服務(wù)消費(fèi)方。 Registry: 服務(wù)注冊(cè)與發(fā)現(xiàn)的注冊(cè)中心。服務(wù)注冊(cè)與發(fā)現(xiàn)的注冊(cè)中心。 Monitor: 統(tǒng)計(jì)服務(wù)的調(diào)用次調(diào)和調(diào)用時(shí)間的監(jiān)控中心。統(tǒng)計(jì)服務(wù)的調(diào)用次調(diào)和調(diào)用時(shí)間的監(jiān)控中心。 Container: 服務(wù)運(yùn)行容器。服務(wù)運(yùn)行容器。1.調(diào)用關(guān)系說(shuō)明:調(diào)用關(guān)系說(shuō)明: 0. 服務(wù)容器負(fù)責(zé)啟動(dòng),加載
5、,運(yùn)行服務(wù)提供者。服務(wù)容器負(fù)責(zé)啟動(dòng),加載,運(yùn)行服務(wù)提供者。 1. 服務(wù)提供者在啟動(dòng)時(shí),向注冊(cè)中心注冊(cè)自己提供的服務(wù)。服務(wù)提供者在啟動(dòng)時(shí),向注冊(cè)中心注冊(cè)自己提供的服務(wù)。 2. 服務(wù)消費(fèi)者在啟動(dòng)時(shí),向注冊(cè)中心訂閱自己所需的服務(wù)。服務(wù)消費(fèi)者在啟動(dòng)時(shí),向注冊(cè)中心訂閱自己所需的服務(wù)。 3. 注冊(cè)中心返回服務(wù)提供者地址列表給消費(fèi)者,如果有變更,注冊(cè)中心將基于長(zhǎng)連接推送變更數(shù)據(jù)給消費(fèi)者。注冊(cè)中心返回服務(wù)提供者地址列表給消費(fèi)者,如果有變更,注冊(cè)中心將基于長(zhǎng)連接推送變更數(shù)據(jù)給消費(fèi)者。 4. 服務(wù)消費(fèi)者,從提供者地址列表中,基于軟負(fù)載均衡算法,選一臺(tái)提供者進(jìn)行調(diào)用,如果調(diào)用失敗,再選另一臺(tái)調(diào)用。服務(wù)消費(fèi)者,從提供
6、者地址列表中,基于軟負(fù)載均衡算法,選一臺(tái)提供者進(jìn)行調(diào)用,如果調(diào)用失敗,再選另一臺(tái)調(diào)用。 5. 服務(wù)消費(fèi)者和提供者,在內(nèi)存中累計(jì)調(diào)用次數(shù)和調(diào)用時(shí)間,定時(shí)每分鐘發(fā)送一次統(tǒng)計(jì)數(shù)據(jù)到監(jiān)控中心。服務(wù)消費(fèi)者和提供者,在內(nèi)存中累計(jì)調(diào)用次數(shù)和調(diào)用時(shí)間,定時(shí)每分鐘發(fā)送一次統(tǒng)計(jì)數(shù)據(jù)到監(jiān)控中心。Page 6簡(jiǎn)單介紹dubbo+zookeeperl zookeeper在在dubbo中的角色中的角色3. zookeeper的角色:注冊(cè)中心的角色:注冊(cè)中心 1.注冊(cè)中心負(fù)責(zé)服務(wù)地址的注冊(cè)與查找,相當(dāng)于目錄服務(wù),服務(wù)提供者和消費(fèi)者只在啟動(dòng)時(shí)與注冊(cè)中心交互,注冊(cè)中心不轉(zhuǎn)發(fā)請(qǐng)注冊(cè)中心負(fù)責(zé)服務(wù)地址的注冊(cè)與查找,相當(dāng)于目錄服務(wù),服
7、務(wù)提供者和消費(fèi)者只在啟動(dòng)時(shí)與注冊(cè)中心交互,注冊(cè)中心不轉(zhuǎn)發(fā)請(qǐng)求,壓力較小求,壓力較小 2.監(jiān)控中心負(fù)責(zé)統(tǒng)計(jì)各服務(wù)調(diào)用次數(shù),調(diào)用時(shí)間等,統(tǒng)計(jì)先在內(nèi)存匯總后每分鐘一次發(fā)送到監(jiān)控中心服務(wù)器,并以報(bào)表展示監(jiān)控中心負(fù)責(zé)統(tǒng)計(jì)各服務(wù)調(diào)用次數(shù),調(diào)用時(shí)間等,統(tǒng)計(jì)先在內(nèi)存匯總后每分鐘一次發(fā)送到監(jiān)控中心服務(wù)器,并以報(bào)表展示 服務(wù)提供者向注冊(cè)中心注冊(cè)其提供的服務(wù),并匯報(bào)調(diào)用時(shí)間到監(jiān)控中心,此時(shí)間不包含網(wǎng)絡(luò)開(kāi)銷(xiāo)服務(wù)提供者向注冊(cè)中心注冊(cè)其提供的服務(wù),并匯報(bào)調(diào)用時(shí)間到監(jiān)控中心,此時(shí)間不包含網(wǎng)絡(luò)開(kāi)銷(xiāo) 3.服務(wù)消費(fèi)者向注冊(cè)中心獲取服務(wù)提供者地址列表,并根據(jù)負(fù)載算法直接調(diào)用提供者,同時(shí)匯報(bào)調(diào)用時(shí)間到監(jiān)控中心,此時(shí)間包服務(wù)消費(fèi)者向注
8、冊(cè)中心獲取服務(wù)提供者地址列表,并根據(jù)負(fù)載算法直接調(diào)用提供者,同時(shí)匯報(bào)調(diào)用時(shí)間到監(jiān)控中心,此時(shí)間包含網(wǎng)絡(luò)開(kāi)銷(xiāo)含網(wǎng)絡(luò)開(kāi)銷(xiāo) 4.注冊(cè)中心,服務(wù)提供者,服務(wù)消費(fèi)者三者之間均為長(zhǎng)連接,監(jiān)控中心除外注冊(cè)中心,服務(wù)提供者,服務(wù)消費(fèi)者三者之間均為長(zhǎng)連接,監(jiān)控中心除外 5.注冊(cè)中心通過(guò)長(zhǎng)連接感知服務(wù)提供者的存在,服務(wù)提供者宕機(jī),注冊(cè)中心將立即推送事件通知消費(fèi)者注冊(cè)中心通過(guò)長(zhǎng)連接感知服務(wù)提供者的存在,服務(wù)提供者宕機(jī),注冊(cè)中心將立即推送事件通知消費(fèi)者 6.注冊(cè)中心和監(jiān)控中心全部宕機(jī),不影響已運(yùn)行的提供者和消費(fèi)者,消費(fèi)者在本地緩存了提供者列表注冊(cè)中心和監(jiān)控中心全部宕機(jī),不影響已運(yùn)行的提供者和消費(fèi)者,消費(fèi)者在本地緩存了
9、提供者列表 7.注冊(cè)中心和監(jiān)控中心都是可選的,服務(wù)消費(fèi)者可以直連服務(wù)提供者注冊(cè)中心和監(jiān)控中心都是可選的,服務(wù)消費(fèi)者可以直連服務(wù)提供者 其他可扮演注冊(cè)中心的技術(shù):其他可扮演注冊(cè)中心的技術(shù):redisPage 7簡(jiǎn)單介紹dubbo+zookeeperldubbo使用使用zookeeper客戶(hù)端的一個(gè)客戶(hù)端的一個(gè)bug dubbo目前支持使用的目前支持使用的zookeeper客戶(hù)端有兩個(gè):客戶(hù)端有兩個(gè):Zkclient和和curator,Zkclient是其默認(rèn)是其默認(rèn)的客戶(hù)端。的客戶(hù)端。 bug描述:描述:dubbo在在ZookeeperRegistry這個(gè)類(lèi)中顯示依賴(lài)了這個(gè)類(lèi)中顯示依賴(lài)了Zkcl
10、ient的異常類(lèi),導(dǎo)致在的異常類(lèi),導(dǎo)致在缺失缺失Zkclient包的時(shí)候使用包的時(shí)候使用zookeeper注冊(cè)中心報(bào)錯(cuò)。解決辦法是去掉這個(gè)顯示依賴(lài),注冊(cè)中心報(bào)錯(cuò)。解決辦法是去掉這個(gè)顯示依賴(lài),或者在使用或者在使用curator的時(shí)候也引入的時(shí)候也引入Zkclient包。包。 指定使用指定使用curator需要使用需要使用client屬性,如下:屬性,如下: Page 8簡(jiǎn)單介紹dubbo+zookeeperldubbo同時(shí)使用兩套同時(shí)使用兩套client的解決辦法(沒(méi)有什么意義)的解決辦法(沒(méi)有什么意義)l問(wèn)題描述:如果在一個(gè)服務(wù)中同時(shí)指定用問(wèn)題描述:如果在一個(gè)服務(wù)中同時(shí)指定用Zkclient和
11、和curator,則實(shí)際上只會(huì)用則實(shí)際上只會(huì)用到一個(gè)。到一個(gè)。l解決辦法:增加解決辦法:增加key值判斷。值判斷。AbstractRegistryFactory.getRegistry方法。方法。Page 9簡(jiǎn)單介紹dubbo+zookeeperl扯一下使用扯一下使用maven修復(fù)開(kāi)源應(yīng)用修復(fù)開(kāi)源應(yīng)用bug的技巧的技巧 當(dāng)我們修改了一個(gè)開(kāi)源應(yīng)用的當(dāng)我們修改了一個(gè)開(kāi)源應(yīng)用的bug,怎么把修改后的文件合到怎么把修改后的文件合到j(luò)ar包里面去?一個(gè)比較靠包里面去?一個(gè)比較靠譜的方式就是使用譜的方式就是使用maven的的maven-shade-plugin插件,在打包是過(guò)濾掉原有插件,在打包是過(guò)濾掉原
12、有jar包中要包中要替換的文件。替換的文件。 可參考:可參考:/plugins/maven-shade-plugin/shade-mojo.html maven的另外一個(gè)打包插件:的另外一個(gè)打包插件:maven-assembly-plugin,可參考:,可參考: /plugins/maven-assembly-plugin/ 最后,關(guān)于最后,關(guān)于dubbo,提供一篇很好的文章:提供一篇很好的文章:http:/ ( 這篇文章對(duì)于這篇文章對(duì)于dubbo的性能優(yōu)化是很不錯(cuò)的參看)的性能優(yōu)化是很不錯(cuò)的參看)Page
13、 10簡(jiǎn)單介紹dubbo+zookeeperl問(wèn)題問(wèn)題ldubbo為什么要使用注冊(cè)中心?為什么要使用注冊(cè)中心?l點(diǎn)對(duì)點(diǎn)直連方式:點(diǎn)對(duì)點(diǎn)直連方式:http:/ 11Zookeeperl概述概述 Zookeeper作為注冊(cè)中心的概念其實(shí)是抽象的,官方說(shuō)明:作為注冊(cè)中心的概念其實(shí)是抽象的,官方說(shuō)明:ZooKeeper is a high-performance coordination service for distributed applications.其實(shí)它的核心是一個(gè)精簡(jiǎn)其實(shí)它的核心是一個(gè)精簡(jiǎn)的文件系統(tǒng),提供基于目錄節(jié)點(diǎn)樹(shù)方式的數(shù)據(jù)存儲(chǔ),以及一些額外的抽象操作,如的文件系統(tǒng),提供基于目錄節(jié)
14、點(diǎn)樹(shù)方式的數(shù)據(jù)存儲(chǔ),以及一些額外的抽象操作,如排序,通知和監(jiān)控。排序,通知和監(jiān)控。 節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)主要包括:節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)主要包括:status information, configuration, location information, etc.Page 12Zookeeperl典型應(yīng)用場(chǎng)景典型應(yīng)用場(chǎng)景l(fā) 統(tǒng)一命名服務(wù)(統(tǒng)一命名服務(wù)(Name Service)l 配置管理(配置管理(Configuration Management)l Leader Electionl 共享鎖(共享鎖(Locks)l 隊(duì)列管理隊(duì)列管理l 組成員關(guān)系(組成員關(guān)系(Group Membership)Page
15、 13Zookeeperl數(shù)據(jù)模型數(shù)據(jù)模型 前面提到前面提到Zookeeper的核心就是文件系統(tǒng),所以掌握的核心就是文件系統(tǒng),所以掌握Z(yǔ)ookeeper就必須了解它的數(shù)據(jù)模型。類(lèi)就必須了解它的數(shù)據(jù)模型。類(lèi)似于似于unix的文件系統(tǒng),它維護(hù)著一個(gè)屬性層次結(jié)構(gòu),樹(shù)中的節(jié)點(diǎn)被稱(chēng)為的文件系統(tǒng),它維護(hù)著一個(gè)屬性層次結(jié)構(gòu),樹(shù)中的節(jié)點(diǎn)被稱(chēng)為znode,znode可以用來(lái)存可以用來(lái)存儲(chǔ)數(shù)據(jù),并且與之關(guān)聯(lián)一個(gè)儲(chǔ)數(shù)據(jù),并且與之關(guān)聯(lián)一個(gè)ACL(Access Control List)。)。 一一.和標(biāo)準(zhǔn)文件系統(tǒng)的區(qū)別:和標(biāo)準(zhǔn)文件系統(tǒng)的區(qū)別: 1.一個(gè)一個(gè)znode既可以是文件也可以是目錄;既可以是文件也可以是目錄;
16、 2.每個(gè)每個(gè)znode存儲(chǔ)的數(shù)據(jù)有限,不超過(guò)存儲(chǔ)的數(shù)據(jù)有限,不超過(guò)1M(zookeeper有內(nèi)置的檢查)。有內(nèi)置的檢查)。 3.Zookeeper中的文件系統(tǒng)路徑是絕對(duì)路徑,必須以中的文件系統(tǒng)路徑是絕對(duì)路徑,必須以“/”開(kāi)頭,而且路徑必須是標(biāo)準(zhǔn)的,即開(kāi)頭,而且路徑必須是標(biāo)準(zhǔn)的,即不能包含像不能包含像unix那樣可以表示當(dāng)前路徑或者當(dāng)前路徑上一級(jí)目錄的符合那樣可以表示當(dāng)前路徑或者當(dāng)前路徑上一級(jí)目錄的符合“.”或或“.”P(pán)age 14Zookeeperl數(shù)據(jù)模型數(shù)據(jù)模型 二二.znode的一些性質(zhì)的一些性質(zhì) 1.znode的兩種類(lèi)型:短暫的和持久的。該類(lèi)型在創(chuàng)建時(shí)確定,之后不能再修改。短暫的兩種
17、類(lèi)型:短暫的和持久的。該類(lèi)型在創(chuàng)建時(shí)確定,之后不能再修改。短暫znode不能有子節(jié)點(diǎn)。(短暫不能有子節(jié)點(diǎn)。(短暫znode應(yīng)用:需要知道特定時(shí)刻有哪些分布式資源可用的應(yīng)用,如應(yīng)用:需要知道特定時(shí)刻有哪些分布式資源可用的應(yīng)用,如組成員管理服務(wù)。)組成員管理服務(wù)。) 2.順序號(hào):在創(chuàng)建順序號(hào):在創(chuàng)建znode的時(shí)候,我們可以設(shè)置順序標(biāo)識(shí),這樣創(chuàng)建的的時(shí)候,我們可以設(shè)置順序標(biāo)識(shí),這樣創(chuàng)建的zonde名稱(chēng)后面會(huì)附名稱(chēng)后面會(huì)附加一個(gè)值(單調(diào)遞增),這個(gè)值便是順序號(hào),由其父節(jié)點(diǎn)維護(hù)。(順序加一個(gè)值(單調(diào)遞增),這個(gè)值便是順序號(hào),由其父節(jié)點(diǎn)維護(hù)。(順序znode的應(yīng)用:共享的應(yīng)用:共享鎖。)鎖。) 3.觀(guān)察
18、(觀(guān)察(watch):當(dāng)):當(dāng)znode以某種方式發(fā)生改變時(shí),這種機(jī)制可以讓客戶(hù)端得到通知。以某種方式發(fā)生改變時(shí),這種機(jī)制可以讓客戶(hù)端得到通知。(應(yīng)用:配置管理,后面將配置管理的時(shí)候,具體去講)(應(yīng)用:配置管理,后面將配置管理的時(shí)候,具體去講)Page 15Zookeeperl實(shí)現(xiàn)實(shí)現(xiàn)lzookeeper支持單機(jī)模式,也支持集群(復(fù)制)模式。支持單機(jī)模式,也支持集群(復(fù)制)模式。l兩個(gè)注意點(diǎn):兩個(gè)注意點(diǎn):l1.只要集群中半數(shù)以上的機(jī)器處于可用狀態(tài),它就能提供服務(wù);只要集群中半數(shù)以上的機(jī)器處于可用狀態(tài),它就能提供服務(wù);l2.它確保最它確保最znode樹(shù)中的每一個(gè)修改都會(huì)被復(fù)制到集群中半數(shù)以上的機(jī)
19、器。因此能確保在可用狀樹(shù)中的每一個(gè)修改都會(huì)被復(fù)制到集群中半數(shù)以上的機(jī)器。因此能確保在可用狀態(tài)下,至少有一個(gè)機(jī)器保存最新的狀態(tài),其余副本也會(huì)更新到這個(gè)最新?tīng)顟B(tài)。態(tài)下,至少有一個(gè)機(jī)器保存最新的狀態(tài),其余副本也會(huì)更新到這個(gè)最新?tīng)顟B(tài)。l如何實(shí)現(xiàn):如何實(shí)現(xiàn):Zab協(xié)議協(xié)議l階段一:領(lǐng)導(dǎo)者選舉階段一:領(lǐng)導(dǎo)者選舉l階段二:原子廣播階段二:原子廣播Page 16Zookeeperl會(huì)話(huà)會(huì)話(huà)l故障切換故障切換l時(shí)間:時(shí)間:tick time,用于設(shè)置交互時(shí)間表,其他設(shè)置基本上依賴(lài)這個(gè)參數(shù),用于設(shè)置交互時(shí)間表,其他設(shè)置基本上依賴(lài)這個(gè)參數(shù)Page 17Zookeeperl一致性一致性lZab協(xié)議導(dǎo)致了協(xié)議導(dǎo)致了Zo
20、okeeper的一致性問(wèn)題。的一致性問(wèn)題。l解決一致性:每一個(gè)對(duì)解決一致性:每一個(gè)對(duì)znode的樹(shù)的更新?tīng)顟B(tài)都被賦予一個(gè)全局唯一的樹(shù)的更新?tīng)顟B(tài)都被賦予一個(gè)全局唯一zxid,zookeeper對(duì)其進(jìn)行排序,越小,則發(fā)生越早。對(duì)其進(jìn)行排序,越小,則發(fā)生越早。lzookeeper的幾點(diǎn)考慮:順序一致性,原子性,單一系統(tǒng)映象,持久性,的幾點(diǎn)考慮:順序一致性,原子性,單一系統(tǒng)映象,持久性,及時(shí)性及時(shí)性l注:使用注:使用sync來(lái)解決跨過(guò)來(lái)解決跨過(guò)Zookeeper的機(jī)制進(jìn)行通信導(dǎo)致的數(shù)據(jù)不一致。的機(jī)制進(jìn)行通信導(dǎo)致的數(shù)據(jù)不一致。Page 18Zookeeperl操作操作lZookeeper中有九種基本操作
21、。中有九種基本操作。操作操作 描述描述create創(chuàng)建一個(gè)znode(必須要有父節(jié)點(diǎn),創(chuàng)建時(shí)可以設(shè)置數(shù)據(jù))delete刪除一個(gè)znode(該znode不能有任何子節(jié)點(diǎn))exists測(cè)試一個(gè)znode是否存在并且查詢(xún)它的元數(shù)據(jù)getACL,setACL獲取/設(shè)置一個(gè)znode的ACLgetChildren獲取一個(gè)znode的子節(jié)點(diǎn)列表getData,setData獲取/設(shè)置一個(gè)znode所保存的數(shù)據(jù)sync將客戶(hù)端的znode試圖與ZooKeeper同步Page 19Zookeeperl操作操作lapil對(duì)于對(duì)于Zookeeper的客戶(hù)端來(lái)說(shuō),主要有兩種語(yǔ)言綁定:的客戶(hù)端來(lái)說(shuō),主要有兩種語(yǔ)言綁定
22、:Java和和C,也可以使用其他的語(yǔ)言,如也可以使用其他的語(yǔ)言,如Perl,Pythod等。對(duì)于各種語(yǔ)言的綁定使用,可參考:等。對(duì)于各種語(yǔ)言的綁定使用,可參考:/confluence/display/ZOOKEEPER/ZKClientBindingslapi的調(diào)用有同步和異步兩種方式。異步操作的結(jié)果使用回調(diào)來(lái)傳送。的調(diào)用有同步和異步兩種方式。異步操作的結(jié)果使用回調(diào)來(lái)傳送。l如:同步方式:如:同步方式:public void exists(String path,Watcher watcher;l異步方式:異步方式:public void exis
23、ts(String path,Watcher watcher,StatCallback cb,Object ctx);Page 20Zookeeperl操作操作l觀(guān)察觸發(fā)器觀(guān)察觸發(fā)器l在讀操作在讀操作 exists、getChildren和和getData上可以設(shè)置觀(guān)察,這些觀(guān)察可以被寫(xiě)操作上可以設(shè)置觀(guān)察,這些觀(guān)察可以被寫(xiě)操作create、delete和和setData觸發(fā)。觸發(fā)。注:注:ACL的相關(guān)操作不參與任何觀(guān)察。下表是設(shè)置觀(guān)察的操作及其對(duì)應(yīng)的觸發(fā)器:的相關(guān)操作不參與任何觀(guān)察。下表是設(shè)置觀(guān)察的操作及其對(duì)應(yīng)的觸發(fā)器:設(shè)置觀(guān)察設(shè)置觀(guān)察的操作的操作 觀(guān)察觸發(fā)器觀(guān)察觸發(fā)器createdelete
24、setDataznode子節(jié)點(diǎn)znode子節(jié)點(diǎn)existsNodeCreatedNodeDeletedNodeDataChangedgetDataNodeDeletedNodeDataChangedgetChildrenNodeChildrenChangedNodeDeletedNodeChildrenChangedPage 21Zookeeperl操作操作l安裝與配置安裝與配置 略略lweb界面界面 node-zk-browserl圖形化界面圖形化界面 ZooInspectorlzookeeper監(jiān)控監(jiān)控 taokeeper (運(yùn)維關(guān)注運(yùn)維關(guān)注) 63/taokeeper-monitor/zooKeeperStatus.do?method=showZooKeeperStatusPAGEPage 22Zookeeperl操作操作lACLl每個(gè)每個(gè)znode被創(chuàng)建時(shí)都會(huì)帶有一個(gè)被創(chuàng)建時(shí)都會(huì)帶有一個(gè)ACL列表,用于決定誰(shuí)可以對(duì)它執(zhí)行何種操
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年簡(jiǎn)易離婚合同填寫(xiě)指南一
- 2024年福建高速加油站經(jīng)營(yíng)許可協(xié)議
- 2024新能源電動(dòng)汽車(chē)充電設(shè)施安裝協(xié)議
- 2024植筋施工建筑裝飾項(xiàng)目分包合同
- 2025房屋租賃與智能家居系統(tǒng)安裝合同3篇
- 快遞服務(wù)員的工作崗位介紹
- 2024施工保險(xiǎn)購(gòu)買(mǎi)合同范本
- 建材工程師工作總結(jié)
- 2024年汽車(chē)融資租賃反擔(dān)保條款合同2篇
- 2024年裝飾產(chǎn)業(yè)與地產(chǎn)企業(yè)聯(lián)動(dòng)合同2篇
- 有機(jī)合成化學(xué)3-基團(tuán)的保護(hù)與基團(tuán)的反應(yīng)性轉(zhuǎn)換
- 康復(fù)醫(yī)學(xué)治療技術(shù)(士)《基礎(chǔ)知識(shí)》測(cè)試題(含答案)
- 學(xué)校未成年人保護(hù)和預(yù)防犯罪工作實(shí)施方案
- 心內(nèi)科住院醫(yī)師規(guī)培出科考試9
- 與公公婆婆斷絕關(guān)系協(xié)議書(shū)
- 某金礦技改工程建設(shè)項(xiàng)目可行性研究報(bào)告
- 消化鏡之電子結(jié)腸鏡課件
- 2023-2024學(xué)年安徽省蕪湖市小學(xué)語(yǔ)文五年級(jí)期末自測(cè)考試題附參考答案和詳細(xì)解析
- 旋挖樁基泥漿護(hù)壁施工方案全套
- 電動(dòng)力學(xué)試卷及答案
- 中學(xué)美育工作制度
評(píng)論
0/150
提交評(píng)論