iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringCloud使用Zookeeper作为配置中心的示例
  • 636
分享到

SpringCloud使用Zookeeper作为配置中心的示例

2024-04-02 19:04:59 636人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录相关依赖配置文件application.yml在ZooKeeper中创建配置节点和数据 测试类自定义Zookeeper配置 在上一篇文章中介绍了Zookeeper作为注册中心使用

在上一篇文章中介绍了Zookeeper作为注册中心使用,在这篇文章中将介绍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 /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配置

如果不想使用默认的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作为配置中心的示例的详细内容,更多关于使用Zookeeper作为配置中心的资料请关注编程网其它相关文章!

--结束END--

本文标题: SpringCloud使用Zookeeper作为配置中心的示例

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

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

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

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

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

  • 微信公众号

  • 商务合作