iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么在SpringCloud中将Zookeeper作为配置中心
  • 892
分享到

怎么在SpringCloud中将Zookeeper作为配置中心

2023-06-14 23:06:45 892人浏览 泡泡鱼
摘要

本篇文章给大家分享的是有关怎么在SpringCloud中将ZooKeeper作为配置中心,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。相关依赖<?xml ver

本篇文章给大家分享的是有关怎么在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>

配置文件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

最终结构如下:

怎么在SpringCloud中将Zookeeper作为配置中心

测试

@SpringBootTestclass ZkdemoApplicationTests {@Value("${nickname1}")private String nickname1;@Value("${nickname2}")private String nickname2;@Testpublic 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:设置服务名和环境名称之间的分隔符,默认为英文逗号。

以上就是怎么在SpringCloud中将Zookeeper作为配置中心,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网精选频道。

--结束END--

本文标题: 怎么在SpringCloud中将Zookeeper作为配置中心

本文链接: https://www.lsjlt.com/news/275604.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作