springcloud集成zookeeper的方法示例
為什么使用zookeeper
Zookeeper 作為一個分布式的服務框架,主要用來解決分布式集群中應用系統(tǒng)的一致性問題,它能提供基于類似于文件系統(tǒng)的目錄節(jié)點樹方式的數據存儲, Zookeeper 作用主要是用來維護和監(jiān)控存儲的數據的狀態(tài)變化,通過監(jiān)控這些數據狀態(tài)的變化,從而達到基于數據的集群管理。
zookeeper 核心
Zookeeper的數據模型是樹結構,在內存數據庫中,存儲了整棵樹的內容,包括所有的節(jié)點路徑、節(jié)點數據、ACL信息,Zookeeper會定時將這個數據存儲到磁盤上。
zookeeper節(jié)點特點
持久節(jié)點
即使在創(chuàng)建該特定znode的客戶端斷開連接后,持久節(jié)點仍然存在。默認情況下,除非另有說明,否則所有znode都是持久的。
臨時節(jié)點
客戶端活躍時,臨時節(jié)點就是有效的。當客戶端與ZooKeeper集合斷開連接時,臨時節(jié)點會自動刪除。因此,只有臨時節(jié)點不允許有子節(jié)點。如果臨時節(jié)點被刪除,則下一個合適的節(jié)點將填充其位置。臨時節(jié)點在leader選舉中起著重要作用。
順序節(jié)點
順序節(jié)點可以是持久的或臨時的。當一個新的znode被創(chuàng)建為一個順序節(jié)點時,ZooKeeper通過將10位的序列號附加到原始名稱來設置znode的路徑。例如,如果將具有路徑 /myapp 的znode創(chuàng)建為順序節(jié)點,則ZooKeeper會將路徑更改為 /myapp0000000001 ,并將下一個序列號設置為0000000002。如果兩個順序節(jié)點是同時創(chuàng)建的,那么ZooKeeper不會對每個znode使用相同的數字。順序節(jié)點在鎖定和同步中起重要作用
Curator
Curator是Netflix公司開源的一個Zookeeper客戶端,與Zookeeper提供的原生客戶端相比,Curator的抽象層次更高,簡化了Zookeeper客戶端編程。
spring-cloud-starter-zookeeper-config
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-config</artifactId> </dependency>
bootstrap.yml
spring: cloud: zookeeper: connect-string: 192.168.3.98:2181 enabled: true
注入CuratorFramework
@Autowired private CuratorFramework curatorFramework;
詳見官方文檔http://curator.apache.org/index.html
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
springmvc的validator數據校驗的實現示例代碼
這篇文章主要介紹了springmvc的數據校驗的實現示例代碼, 具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07
Spring Boot thymeleaf模板引擎的使用詳解
這篇文章主要介紹了Spring Boot thymeleaf模板引擎的使用詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03

