>  기사  >  Java  >  Nacos에서 다중 환경 관리를 구성하는 방법 요약(세부 단계)

Nacos에서 다중 환경 관리를 구성하는 방법 요약(세부 단계)

不言
不言앞으로
2019-01-31 10:46:548536검색

이 기사의 내용은 Nacos에서 다중 환경 관리를 구성하는 방법에 대한 요약(상세 단계)입니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

다중 환경 관리

Nacos에는 데이터 ID, 그룹, 네임스페이스를 포함하여 다양한 관리 수준의 여러 개념이 있습니다. 이러한 계층적 개념 간의 관계를 잘 활용하면 필요에 따라 다중 환경 관리를 달성할 수 있습니다.

이제 사용할 수 있는 몇 가지 구현 방법을 소개하겠습니다.

Data ID와 프로필을 사용하여 Nacos에서

Data ID를 구현하면 Spring Cloud 애플리케이션의 구성 파일 이름으로 이해할 수 있습니다. 이전 기사 "Spring Cloud Alibaba 기본 튜토리얼: Nacos 구성 로딩 규칙에 대한 자세한 설명"에서 기본적으로 데이터 ID의 이름 형식이 ${spring.application.name}.properties, 즉 Spring과 같다는 것을 알고 있습니다. 클라우드 애플리케이션 명명된 속성 파일.

실제로 Data ID의 규칙에는 Spring Cloud Config의 설계와 유사한 환경 로직도 포함되어 있습니다. 애플리케이션이 시작되면 spring.profiles.active를 통해 특정 환경 이름을 지정할 수 있습니다. 이때 클라이언트는 ${spring.application.name}-${spring.profiles와 같이 구성을 얻기 위해 데이터 ID를 구성합니다. .active}.properties.

실제로 더 독창적이고 가장 일반적인 일치 규칙은 ${spring.cloud.nacos.config.prefix}-${spring.profile.active}.${spring.cloud.nacos.config입니다. }. 위 결과는 ${spring.cloud.nacos.config.prefix}와 ${spring.cloud.nacos.config.file-extension} 모두 기본값을 사용하기 때문입니다.

한번 해보세요

"Spring Cloud Alibaba 기본 자습서: Nacos를 구성 센터로 사용"(문서 끝 부분의 창고에서 사용 가능) 기사의 예제를 기반으로 이를 경험할 수 있습니다. 환경을 차별화하는 구성 방식.

1단계: 먼저 이 규칙을 기반으로 Nacos에서 서로 다른 두 환경의 구성 콘텐츠를 만듭니다. 예:

Nacos에서 다중 환경 관리를 구성하는 방법 요약(세부 단계)

위에 표시된 대로 alibaba-nacos-config-client 애플리케이션에 대해 DEV 및 TEST에 대해 두 개의 독립적인 환경 구성을 정의했습니다. 나중에 올바른 구성이 실제로 로드되었는지 확인할 수 있도록 다양한 콘텐츠 값을 정의할 수 있습니다.

2단계: alibaba-nacos-config-client 애플리케이션의 구성 파일에 환경 구성을 추가합니다. spring.profiles.active=DEV

3단계: 애플리케이션을 시작하면 다음과 같이 인쇄되는 것을 볼 수 있습니다. 로그 및 로드된 구성 파일:

2019-01-30 15:25:18.216  INFO 96958 --- [           main] o.s.c.a.n.c.NacosPropertySourceBuilder   : Loading nacos data, dataId: 'alibaba-nacos-config-client-DEV.properties', group: 'DEFAULT_GROUP'

그룹을 사용하여 구현

그룹은 Nacos에서 데이터 ID 수집 관리에 사용되는 중요한 개념입니다. 따라서 환경 구성을 하나의 세트로 간주하면 다양한 환경의 구성 관리를 달성할 수 있습니다. 그룹 사용에 대한 고정된 규정이 없으므로 실제로 사용할 때는 아키텍처 운영 및 유지 관리 측면에서 여러 환경을 관리하거나 다양한 모듈의 매개변수 관리 등 특정 요구 사항에 따라 사용해야 합니다. 사업 중. 갈등을 피하기 위해서는 아키텍처 설계 초기에 특정한 계획을 세워야 합니다. 여기에서는 먼저 그룹을 사용하여 다중 환경 구성 관리를 구현하는 방법에 대한 구체적인 구현에 대해 이야기하겠습니다.

해보자

1단계: 먼저 나코스에서 그룹을 구분하여 서로 다른 두 환경의 구성 콘텐츠를 생성합니다. 예: Nacos에서 다중 환경 관리를 구성하는 방법 요약(세부 단계)

위에 표시된 것처럼 alibaba-nacos-config-client 애플리케이션에 대한 DEV 환경과 TEST 환경의 두 가지 독립적인 구성을 정의했습니다. 이 두 가지 일치는 이전 방법과 완전히 다릅니다. 동일하며 GROUP만 다릅니다.

2단계: alibaba-nacos-config-client 애플리케이션의 구성 파일에서 지정된 그룹 구성을 추가합니다: spring.cloud.nacos.config.group=DEV_GROUP

3단계: 애플리케이션을 시작하면 볼 수 있습니다. 로드된 구성 파일은 로그에 인쇄됩니다.

2019-01-30 15:55:23.718  INFO 3216 --- [main] o.s.c.a.n.c.NacosPropertySourceBuilder   : Loading nacos data, dataId: 'alibaba-nacos-config-client.properties', group: 'DEV_GROUP'

네임스페이스를 사용하여 구현

네임스페이스는 이 튜토리얼 시리즈에서 처음으로 나타납니다. 먼저 공식 개념 설명을 살펴보겠습니다. 테넌트 세부 구성 격리에 사용됩니다. 동일한 그룹 또는 데이터 ID의 구성이 다른 네임스페이스에 존재할 수 있습니다. 네임스페이스의 일반적인 시나리오 중 하나는 개발 및 테스트 환경과 프로덕션 환경 간의 리소스(예: 구성 및 서비스) 격리와 같이 다양한 환경에서 구성을 차별화하고 격리하는 것입니다.

공식 소개에는 환경 격리에 사용할 수 있다고 소개되어 있습니다.

한번 해보자

1단계: 먼저 Nacos의 환경 이름을 기반으로 여러 네임스페이스를 만듭니다. 예:

Nacos에서 다중 환경 관리를 구성하는 방법 요약(세부 단계)

2단계: 구성 목록 상단에서 공개 외에 방금 생성된 Namepsace가 여러 개 더 있음을 확인할 수 있습니다. DEV 및 TEST 공간에서 각각 alibaba-nacos-config-client 애플리케이션에 대한 구성 콘텐츠를 생성합니다.

Nacos에서 다중 환경 관리를 구성하는 방법 요약(세부 단계)

3단계: alibaba-nacos-config-client 애플리케이션의 구성 파일에서 지정된 네임스페이스 구성을 추가합니다(예: spring.cloud.nacos.config.namespace=83eed625-d166-4619-b923-93df2088883a).

여기서 네임스페이스 구성은 이름이 아닌 네임스페이스의 ID를 사용한다는 점에 유의해야 합니다.

4단계: 애플리케이션을 시작하고 localhost:8001/test 인터페이스에 액세스하여 반환된 콘텐츠가 올바른지 확인합니다. 이와 같이 현재 버전의 로그는 Namespace와 관련된 정보를 출력하지 않으므로, 로딩할 콘텐츠를 결정하는 기준으로 사용할 수 없습니다.

깊이 생각하기

위에서 다중 환경 구성 관리를 달성하기 위해 Nacos 구성 관리 기능에서 여러 가지 다른 차원을 사용했습니다. 결과적으로 어떤 방법을 사용하더라도 요구 사항을 충족할 수 있지만 어떤 방법이 가장 좋은가요?

첫 번째 유형: 데이터 ID 및 프로필을 통해 구현됩니다.

장점: 이 방법은 Spring Cloud Config의 구현과 매우 유사합니다. Spring Cloud Config를 사용한 사용자는 명명 규칙이 유사하므로 Spring Cloud에서 마이그레이션하는 것도 매우 쉽습니다. 구성이 간단합니다.

단점: 이 방법은 프로젝트와 환경이 많을 때 구성 내용을 매우 혼란스럽게 만듭니다. 구성 목록에는 다양한 애플리케이션이 표시되며 다양한 환경의 구성이 서로 얽혀 있어 관리에 매우 불리합니다.

제안: 프로젝트가 많지 않을 때 사용하거나 그룹과 결합하여 비즈니스 또는 조직 구조에 따라 프로젝트에 대한 분할 계획을 세울 수 있습니다.

두 번째 방법: 그룹을 통해.

장점: 각 애플리케이션의 구성은 그룹을 통해 환경별로 격리됩니다. 데이터 ID 및 그룹의 검색 기능을 사용하여 각각 애플리케이션 위도 및 환경 위도에서 구성을 보는 것이 매우 편리합니다.

단점: 그룹 위도를 차지하므로 결국 그룹 사용을 계획해야 하며 비즈니스의 일부 구성 그룹과 충돌할 수 있습니다.

제안: 이 방법은 이전 방법보다 구조적으로 우수하지만 여전히 혼란을 야기할 수 있습니다. 가장 중요한 것은 그룹 경영을 계획하고 통제하는 것입니다.

세 번째 방법: 네임스페이스를 통해.

장점: 공식적으로 권장되는 방법은 네임스페이스를 사용하여 서로 다른 환경을 구분하고 그룹의 자유로움을 해방하므로 그룹 사용이 비즈니스 수준에서 그룹 관리에 집중할 수 있게 해줍니다. 동시에 네임스페이스는 Nacos 제어 페이지에 그룹으로 표시되며 검색 없이 다양한 환경 구성을 격리할 수 있어 사용이 매우 쉽습니다.

단점: 단점은 하나 더 추가되어 사용자가 이를 이해해야 한다는 점일 수 있습니다.

제안: 이 방법을 직접 사용하면 장기적으로 걱정을 덜 수 있습니다. 소규모 팀의 경우 프로젝트 수가 많지 않을 수 있지만 첫 번째와 두 번째 방법으로 충분하지만 나중에 더 커지면 어떻게 될까요?

참고: 이를 달성하기 위해 어떤 방법을 사용하든 상관없습니다. 지정된 환경(spring.profiles.active=DEV, spring.cloud.nacos.config.group=DEV_GROUP, spring.cloud.nacos.config.namespace=83eed625-d166-4619-b923-93df2088883a)의 구성을 위해 다음을 수행하십시오. 애플리케이션의 bootstrap.properties에서 구성하지 마십시오. 대신 -Dspring.profiles.active=DEV를 사용하여 릴리스 스크립트의 시작 명령에서 이를 동적으로 지정하면 더욱 유연해집니다!

위 내용은 Nacos에서 다중 환경 관리를 구성하는 방법 요약(세부 단계)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제