INTRO
안녕하세요, 오늘은 Spring Config Server 에 대해 학습한 내용을 정리했습니다. MSA 개발을 위해선 서비스 별 설정 파일 관리 방법을 알아야합니다. 우선 config 의 주 역할을 이해한 후 설정 파일의 우선 순위, 적용 방법, 변경 사항 확인 방법을 알아보겠습니다.
1. Spring Cloud Config Server의 주요 특징
- 중앙 집중화: 각 서비스의 설정을 한 곳(Git, SVN, 파일 등)에 관리.
- 버전 관리: Git 등을 사용하면 설정 이력을 관리 가능.
- 동적 업데이트: 설정 변경 시 서비스에 실시간으로 반영 가능(@RefreshScope 사용).
- 다양한 저장소 지원: Git, SVN, 파일 시스템, Vault 등.
- 설정 파일 정의
- config에서 전체 서비스에 일괄 적용하기 위한 설정 파일을 정의.
- 단, 서비스에서 자체 정의한 경우 자체 정의 내용이 최종 적용됨.

- 설정 파일 오버라이딩
- 설정 파일에서 bootstrap.yml 이 application.yml 보다 메모리에 먼저 읽히지만, application.yml 이 오버라이딩 된다.

- configServer 설정 파일 적용 방법
- configServer의 yml 설정 파일에 대해 "uri 값 적용" OR "로컬에서 깃 커밋하여 관리", 2가지 방법으로 실습하였다.
(아래 내용은 로컬에서 깃 커밋하여 관리하는 방법을 정리하였음)


- 서버 재기동 없이 변경사항 확인하는 방법
- pom.xml에 actuator 추가, yml에서 endpoints에 exposure 내용 추가 (refresh) -> 단, POST 방식으로 해야함

OUTRO
예제를 통해 config 서버를 활용하여 토큰 정보를 일괄로 관리하는 방법을 알아보았습니다. 지금은 local 에서 테스트하고 있지만, 실무에서 어떻게 MSA 개발을 진행하는 지 궁금해졌습니다!