spring cloud中基于zookeeper的统一配置

本文介绍了如何在Spring Cloud项目中利用Zookeeper实现统一配置。讲解了从安装Zookeeper和zkui,到客户端配置,再到配置的设置与映射关系,最后展示了通过zkui导入配置文件的实例,并提供了测试验证。
摘要由CSDN通过智能技术生成

spring cloud中基于zookeeper的统一配置

一、简介

这里介绍在spring cloud中,使用zookeeper进行配置。

二、开发步骤

2.1 准备

提前安装好zookeeper和zkui(zookeeper的可视化界面,便于查看)并启动,安装很简单,在此略过。

2.2 客户端

客户端开发流程如下:

  1. 在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
    
  2. 在启动类添加注解@EnableDiscoveryClient。

  3. 在属性获取上如同本地操作一样,使用注解如@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 -->
    <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值