您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關SpringCloud用Zookeeper怎么搭建配置中心,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
SpringCloud +Zookeeper完成配置中心,具有如下:
使用場景
項目配置更改不需要打包,重啟
提供配置文件的可視化界面
和springcloud快速整合
為什么使用zookeeper
Zookeeper 作為一個分布式的服務框架,主要用來解決分布式集群中應用系統的一致性問題,它能提供基于類似于文件系統的目錄節點樹方式的數據存儲, Zookeeper 作用主要是用來維護和監控存儲的數據的狀態變化,通過監控這些數據狀態的變化,從而達到基于數據的集群管理。
怎么使用
1.pom文件
<!-- 提供zookeeper整合的包 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-config</artifactId> </dependency> <!-- springboot 提供監聽的 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
2.bootstrap.properties文件
提示: springboot項目啟動會優先讀取 bootstrap.properties.然后獲取zookeeper中的配置內容,才啟動其他配置
#指定zookeeper的地址,多個用逗號拼接 spring.cloud.zookeeper.connect-string=192.168.100.0:2181 #指定springcloud 讀取zookeeper路徑的開始位置 spring.cloud.zookeeper.config.root=springcloud #開始zk的配置 spring.cloud.zookeeper.config.enabled=true #zk會在你指定的根目錄下尋找以這個項目名命名的目錄下的配置 spring.application.name=service_config
3.獲取zookeeper中的配置
1.@value方式:
//不能動態更新值,需要重啟項目 @Value("${com.xxx.username}") public String username ;
2.@ConfigurationProperties和@EnableConfigurationProperties方式
//可以動態修改值,不需要重啟 @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 //支持多個配置類 @EnableConfigurationProperties({xxx.class,abc.class}) public class ServiceConfigApplication { public static void main(String[] args) { SpringApplication.run(ServiceConfigApplication.class, args); } }
4.獲取配置的規則
假設:
spring.cloud.zookeeper.config.root=xxxx ; spring.application.name=abc
zk 路徑:
/xxxx/abc/com/gabo/username
取值:
@value(${com.gabo.username})
5. 檢驗:
啟動的時候輸出: State change: CONNECTED
代表連接zookeeper成功
修改配置中心內容,輸出:Refresh keys changed:
代表項目中的值修改成功
關于“SpringCloud用Zookeeper怎么搭建配置中心”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。