本篇文章給大家分享的是有關怎么在SpringCloud中將Zookeeper作為配置中心,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.5</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>zkdemo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>zkdemo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> <spring-cloud.version>2020.0.2</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-config</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
spring: application: name: zkdemo profiles: active: dev cloud: zookeeper: # Zookeeper服務器地址,集群使用逗號分隔 connect-string: localhost:2181 # 從Zookeeper中導入配置數據 config: import: 'optional:zookeeper:' server: port: 8005
創建配置根節點/config:
[zk: localhost:2181(CONNECTED) 3] create /config Created /config
創建全局配置節點/config/application,/config/application節點下的配置所有服務都能使用。
[zk: localhost:2181(CONNECTED) 4] create /config/application Created /config/application
添加全局配置nickname1:
[zk: localhost:2181(CONNECTED) 5] create /config/application/nickname1 布禾 Created /config/application/nickname1
創建zkdemo服務dev環境的配置節點/config/zkdemo,dev,該節點的配置只能被特定服務的特定環境使用,當該節點的配置和全局配置沖突時,優先使用該節點的配置:
[zk: localhost:2181(CONNECTED) 6] create /config/zkdemo,dev Created /config/zkdemo,dev
添加zkdemo服務dev環境配置nickname2:
[zk: localhost:2181(CONNECTED) 7] create /config/zkdemo,dev/nickname2 buhe Created /config/zkdemo,dev/nickname2
最終結構如下:
@SpringBootTest class ZkdemoApplicationTests { @Value("${nickname1}") private String nickname1; @Value("${nickname2}") private String nickname2; @Test public void testZkConfig() { System.out.println("從application全局配置中讀取配置:nickname1=" + nickname1); System.out.println("從zkdemo服務配置中讀取配置:nickname2=" + nickname2); } }
輸出結果:
從application全局配置中讀取配置:nickname1=布禾
從zkdemo服務配置中讀取配置:nickname2=buhe
如果不想使用默認的Zookeeper配置,可以在application.yml更改:
spring: cloud: zookeeper: config: enabled: true root: configuration default-context: apps profile-separator: '::'
enabled:將該值設置為false將禁用Zookeeper配置,默認true。
root:配置根節點名稱,默認為config。
default-context:全局配置節點名稱,默認為application。
profile-separator:設置服務名和環境名稱之間的分隔符,默認為英文逗號。
以上就是怎么在SpringCloud中將Zookeeper作為配置中心,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。