Java

Spring Cloud Config 란 무엇인가

Yukart 2022. 11. 20. 14:41
반응형

1. 🍃 Spring Cloud Config 란

1-1. 정의

Spring Cloud Config는 분산 시스템에서 외부화된 구성을 위한 서버 및 클라이언트 측 지원을 제공합니다. Config Server를 사용하면 모든 환경에서 애플리케이션의 외부 속성을 관리할 수 있는 중앙 위치가 있습니다. 클라이언트와 서버의 개념은 Spring Environment과 동일하게 매핑됩니다.PropertySource추상화이므로 Spring 애플리케이션에 매우 적합하지만 모든 언어로 실행되는 모든 애플리케이션과 함께 사용할 수 있습니다. 애플리케이션이 개발에서 테스트 및 프로덕션으로 배포 파이프라인을 통해 이동할 때 이러한 환경 간의 구성을 관리할 수 있으며 애플리케이션이 마이그레이션할 때 실행하는 데 필요한 모든 것이 있는지 확인할 수 있습니다. 서버 스토리지 백엔드의 기본 구현은 git을 사용하므로 레이블이 지정된 버전의 구성 환경을 쉽게 지원하고 콘텐츠 관리를 위한 광범위한 도구에 액세스할 수 있습니다. 대체 구현을 추가하고 Spring 구성으로 연결하는 것은 쉽습니다.


  • 말이 어렵다. 쉽게 말하면 MSA 아키텍처 클라우드 환경에서 각 마이크로 서버의 환경변수를 중앙집중식 관리를 하겠다는 말. 각각의 환경 변수 File은 대표적으로 Git Repo 혹은 다른 곳에 저장 할 수 있고, 그 저장소를 바라보는 놈은 Config 한놈이란 말.
  • 이 말을 그림으로 표현하자면 이렇게 된다.

1-2. 🍃 Spring Cloud Config 구조

대략적으로 그려본 구조


필자는 회사에서 사용하기 위한 목적으로 구현을 해본 것이다.

MSA 구조로 설계를 했을 때  각 Feature Server에 Cloud Config Client 의존성이 추가 되어야 하고

환경 변수가 업데이트 되었을 때 각 Feature Server들에게 어떻게 전파할 수 있을 지

환경변수 암호화는 Config 서버가 복호화해서 전파하는게 맞는지

Clinet 서버가 복호화 해야하는지 등등

고려해야할 것들이 한 두가지가 아니다. 다음 포스트에서 정리해서 올리도록 하겠다.

반응형