2023년 1월 21일

출처 :

https://themapisto.tistory.com/185

https://wonit.tistory.com/502category=854728

Microservice Architecture 에서 Config Store Server가 갖는 의미

Config Store Server 는 말 그대로 설정 정보 저장 서버이다.

Gartner 그룹에서 정의한 MSA 인프라 필수 구성 요소에 의하면 Config Store Server 는 Service Mesh 영역에 위치하는 필수 요소라고 정의되어진다.

Service Mesh 에서 Config Store 서버는 자주 변경되는 설정 정보는 설정 정보만 담고 있는 서버에서 관리하고 이를 필요로 하는 서버에게 각각 뿌려주는 방식으로 이용된다.

이러한 Config Store 서버가 있음으로 Application의 외부 속성을 중앙 집중식 관리가 가능해진다.

중앙 집중식 관리가 없으면 어떻게 될까?

중앙 집중식 관리가 없다는 것은 아주 일반적인 우리의 application 의 구조일 것이다.

Some Server는 구성하지 않았지만 다양한 서비스가 있다는 전제를 위하여 추가하였습니다.

각각의 서버는 외부 설정 정보를 자신의 서버에서 관리하고 있는데, 여기서 말 하는 외부 설정 정보는 application.yml에 들어가는 정보들을 이야기한다.

Config Server 는 왜 사용할까?

지금까지 배포한 모든 프로젝트의 환경설정을 담당하는 파일은 application.yml로 소스와 함께 저장 되서 배포했습니다. 하지만 이러한 방식은 12 factor에 따르면 현대적인 어플리케이션 작성 원칙에 위배 되기 됨으로 Spring Cloud Config를 활용하여 설정 파일을 외부로 분리 하는 아키텍처를 활용합니다.

이렇게 활용하게 되면 개발/테스트 환경 그리고 운영 환경까지 모든 환경 구성을 간편하게 관리할 수 있습니다. 또한 환경변수가 바뀌었을 때 어플리케이션을 다시 빌드하고 배포할 필요가 없기 때문에 개발 생산성에 좋은 영향을 줍니다.