SpringCloud用Zookeeper搭建配置中心的方法
本文介紹了SpringCloud +Zookeeper完成配置中心,分享給大家,具有如下:
使用場(chǎng)景
- 項(xiàng)目配置更改不需要打包,重啟
- 提供配置文件的可視化界面
- 和springcloud快速整合
為什么使用zookeeper
Zookeeper 作為一個(gè)分布式的服務(wù)框架,主要用來(lái)解決分布式集群中應(yīng)用系統(tǒng)的一致性問(wèn)題,它能提供基于類(lèi)似于文件系統(tǒng)的目錄節(jié)點(diǎn)樹(shù)方式的數(shù)據(jù)存儲(chǔ), Zookeeper 作用主要是用來(lái)維護(hù)和監(jiān)控存儲(chǔ)的數(shù)據(jù)的狀態(tài)變化,通過(guò)監(jiān)控這些數(shù)據(jù)狀態(tài)的變化,從而達(dá)到基于數(shù)據(jù)的集群管理。
怎么使用
1.pom文件
<!-- 提供zookeeper整合的包 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-config</artifactId> </dependency> <!-- springboot 提供監(jiān)聽(tīng)的 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
2.bootstrap.properties文件
提示: springboot項(xiàng)目啟動(dòng)會(huì)優(yōu)先讀取 bootstrap.properties.然后獲取zookeeper中的配置內(nèi)容,才啟動(dòng)其他配置
#指定zookeeper的地址,多個(gè)用逗號(hào)拼接 spring.cloud.zookeeper.connect-string=192.168.100.0:2181 #指定springcloud 讀取zookeeper路徑的開(kāi)始位置 spring.cloud.zookeeper.config.root=springcloud #開(kāi)始zk的配置 spring.cloud.zookeeper.config.enabled=true #zk會(huì)在你指定的根目錄下尋找以這個(gè)項(xiàng)目名命名的目錄下的配置 spring.application.name=service_config
3.獲取zookeeper中的配置
1.@value方式:
//不能動(dòng)態(tài)更新值,需要重啟項(xiàng)目 @Value("${com.xxx.username}") public String username ;
2.@ConfigurationProperties和@EnableConfigurationProperties方式
//可以動(dòng)態(tài)修改值,不需要重啟 @ConfigurationProperties(prefix = "com.xxx") public class UserInfo { public String username ; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } }
application代碼:
@SpringBootApplication //支持多個(gè)配置類(lèi) @EnableConfigurationProperties({xxx.class,abc.class}) public class ServiceConfigApplication { public static void main(String[] args) { SpringApplication.run(ServiceConfigApplication.class, args); } }
4.獲取配置的規(guī)則
假設(shè):
spring.cloud.zookeeper.config.root=xxxx ; spring.application.name=abc
zk 路徑:
/xxxx/abc/com/gabo/username
取值:
@value(${com.gabo.username})
5. 檢驗(yàn):
啟動(dòng)的時(shí)候輸出: State change: CONNECTED
代表連接zookeeper成功
修改配置中心內(nèi)容,輸出:Refresh keys changed:
代表項(xiàng)目中的值修改成功
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Mac?Maven環(huán)境搭建安裝和配置超詳細(xì)步驟
這篇文章主要給大家介紹了關(guān)于Mac?Maven環(huán)境搭建安裝和配置的超詳細(xì)步驟,Maven是一種常用的Java構(gòu)建工具,它可以自動(dòng)化構(gòu)建、測(cè)試和打包Java項(xiàng)目,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10Springboot實(shí)現(xiàn)阿里云通信短信服務(wù)有關(guān)短信驗(yàn)證碼的發(fā)送功能
短信驗(yàn)證碼是通過(guò)發(fā)送驗(yàn)證碼到手機(jī)的一種有效的驗(yàn)證碼系統(tǒng)。主要用于驗(yàn)證用戶(hù)手機(jī)的合法性及敏感操作的身份驗(yàn)證。下面通過(guò)本文大家分享Springboot實(shí)現(xiàn)阿里云通信短信服務(wù)有關(guān)短信驗(yàn)證碼的發(fā)送功能,一起看看吧2017-08-08一文帶你學(xué)會(huì)Spring?JDBC的使用
JDBC?就是?數(shù)據(jù)庫(kù)開(kāi)發(fā)?操作的?代名詞,因?yàn)橹灰乾F(xiàn)代商業(yè)項(xiàng)目的開(kāi)發(fā)那么一定是離不開(kāi)?數(shù)據(jù)庫(kù)?的,不管你搞的是什么,只要是想使用動(dòng)態(tài)的開(kāi)發(fā)結(jié)構(gòu),那么一定就是?JDBC?,那么下面來(lái)教教大家傳統(tǒng)JDBC的使用2022-09-09SpringCloud使用Feign實(shí)現(xiàn)遠(yuǎn)程調(diào)用流程詳細(xì)介紹
OpenFeign源于Netflix的Feign,是http通信的客戶(hù)端。屏蔽了網(wǎng)絡(luò)通信的細(xì)節(jié),直接面向接口的方式開(kāi)發(fā),讓開(kāi)發(fā)者感知不到網(wǎng)絡(luò)通信細(xì)節(jié)。所有遠(yuǎn)程調(diào)用,都像調(diào)用本地方法一樣完成2023-02-02如何使用MyBatis Plus實(shí)現(xiàn)數(shù)據(jù)庫(kù)curd操作
MyBatis-Plus是一個(gè)MyBatis 的增強(qiáng)工具,在MyBatis,的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開(kāi)發(fā)、提高效率而生。 這篇文章主要介紹了MyBatis Plus實(shí)現(xiàn)數(shù)據(jù)庫(kù)curd操作,需要的朋友可以參考下2021-09-09IDEA?2022最新激活碼注冊(cè)碼超詳細(xì)教程(親測(cè)激活有效)
這篇文章主要介紹了IDEA?2022最新激活碼超詳細(xì)教程(親測(cè)激活至2099年),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12JAVA 根據(jù)設(shè)置的概率生成隨機(jī)數(shù)的方法
本篇文章主要介紹了JAVA 根據(jù)設(shè)置的概率生成隨機(jī)數(shù)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08關(guān)于Java中阻塞隊(duì)列BlockingQueue的詳解
這篇文章主要介紹了關(guān)于Java中阻塞隊(duì)列BlockingQueue的詳解,BlockingQueue是為了解決多線(xiàn)程中數(shù)據(jù)高效安全傳輸而提出的,從阻塞這個(gè)詞可以看出,在某些情況下對(duì)阻塞隊(duì)列的訪(fǎng)問(wèn)可能會(huì)造成阻塞,需要的朋友可以參考下2023-05-05