SpringCloud 는 Zookeeper 를 설정 센터 의 예제 로 사용 합 니 다.

4이전 글에서 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
전역 설정 추가 nickname 1:

[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 환경 설정 nickname 2 추가:

[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 전역 설정 에서 설정 읽 기:nickname 1=포 화
zkdemo 서비스 설정 에서 설정 읽 기:nickname 2=buhe
사용자 정의 Zookeeper 설정
기본 Zookeeper 설정 을 사용 하지 않 으 려 면 application.yml 에서 변경 할 수 있 습 니 다.

spring:
  cloud:
    zookeeper:
      config:
        enabled: true
        root: configuration
        default-context: apps
        profile-separator: '::'
enabled:이 값 을 false 로 설정 하면 Zookeeper 설정 을 사용 하지 않 습 니 다.기본 트 루 입 니 다.
루트:루트 노드 이름 을 설정 합 니 다.기본 값 은 config 입 니 다.
default-context:전역 설정 노드 이름,기본 값 은 application 입 니 다.
profile-separator:서비스 이름과 환경 이름 사이 의 구분 자 를 설정 합 니 다.기본 값 은 영어 쉼표 입 니 다.
이상 은 SpringCloud 에서 Zookeeper 를 설정 센터 로 사용 하 는 예제 에 대한 상세 한 내용 입 니 다.Zookeeper 를 설정 센터 로 사용 하 는 것 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기