spring cloud中基于zookeeper的统一配置
文章目录
一、简介
这里介绍在spring cloud中,使用zookeeper进行配置。
二、开发步骤
2.1 准备
提前安装好zookeeper和zkui(zookeeper的可视化界面,便于查看)并启动,安装很简单,在此略过。
2.2 客户端
客户端开发流程如下:
-
在application.yaml中添加zookeeper配置信息,如下:
spring: cloud: zookeeper: discovery: enabled: true register: true enabled: true connect-string: localhost:2181 config: enabled: true root: /config #zookeeper中的根路径,结合项目名及环境为最终路径,即配置路径最终为/config/项目名,环境 watcher: enabled: true
-
在启动类添加注解@EnableDiscoveryClient。
-
在属性获取上如同本地操作一样,使用注解如@Value、@ConfigurationProperties,同时可添加注解@RefreshScope实现自动更新。
3.3 配置设置
3.3.1 配置设置方式
配置设置可以直接在zookeeper中配置,也可以通过zkui中通过import文件导入。
3.3.2 配置映射关系
zkui中通过文件导入配置时,由root配置、项目名、环境及key和value共同设置的,结构为:
root路径/项目名,环境={key}={value}
对应到zookeeper路径为:
root路径/项目名,环境/key #其值为value
对应到spring boot的application.yaml配置为:
spring:
application:
name: 项目名
profiles:
active: 环境
cloud:
zookeeper:
config:
root: root路径
三、示例
提前安装好zookeeper和zkui并启动。这里以spring_cloud_client_zookeeper_config项目获取配置为例。
3.1 zkui中导入配置
准备导入文件config.txt,内容如下:
/config/spring-cloud-client-zookeeper-config,dev=stuId=001
并在zkui中点击import选择进行导入。
3.2 客户端
3.2.1 添加maven配置
<?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.3.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
<