2021-04-30

Zookeeper系列(6):使用Zookeeper作为配置中心

在上一篇文章中介绍了Zookeeper作为注册中心使用,在这篇文章中将介绍Zookeeper作为配置中心的使用,废话不多说,直接上代码。

相关依赖
<?
配置文件application.yml
spring: application: name: zkdemo profiles: active: dev cloud: zookeeper:  # Zookeeper服务器地址,集群使用逗号分隔  connect-string: localhost:2181 # 从Zookeeper中导入配置数据 config: import: 'optional:zookeeper:'server: port: 8005
在Zookeeper中创建配置节点和数据

创建配置根节点/config:

[zk: localhost:2181(CONNECTED) 3] create /configCreated /config

创建全局配置节点/config/application,/config/application节点下的配置所有服务都能使用。

[zk: localhost:2181(CONNECTED) 4] create /config/applicationCreated /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,devCreated /config/zkdemo,dev

添加zkdemo服务dev环境配置nickname2:

[zk: localhost:2181(CONNECTED) 7] create /config/zkdemo,dev/nickname2 buheCreated /config/zkdemo,dev/nickname2

最终结构如下:

测试类
@SpringBootTestclass 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配置

如果不想使用默认的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:设置服务名和环境名称之间的分隔符,默认为英文逗号。









原文转载:http://www.shaoqun.com/a/715769.html

跨境电商:https://www.ikjzd.com/

anker:https://www.ikjzd.com/w/1027

kk馆:https://www.ikjzd.com/w/1713


在上一篇文章中介绍了Zookeeper作为注册中心使用,在这篇文章中将介绍Zookeeper作为配置中心的使用,废话不多说,直接上代码。相关依赖<?配置文件application.ymlspring:application:name:zkdemoprofiles:active:devcloud:zookeeper:#Zookeeper服务器地址,集群使用逗号分隔connect-string:
杨帆:https://www.ikjzd.com/w/1648
zozotown:https://www.ikjzd.com/w/2180
review:https://www.ikjzd.com/w/2735
跨境电商小白必看!询盘如何成功转化成订单?:https://www.ikjzd.com/home/21979
美将对华3000亿美元商品加征10%关税 / 亚马逊法国站佣金将上涨:https://www.ikjzd.com/home/103299
口述:受不了 男友像防贼一样防我:http://lady.shaoqun.com/m/a/12428.html

No comments:

Post a Comment