섹션 소개
- Configuration 서비스의 필요성 : application.yml 파일의 내용이 변경되면 서비스 전체가 다시 빌드되어야함. 서비스 로직과 설정값의 결합도를 낮추기 위해 설정값을 외부에 작성하고 주입하는 방법을 Configuration Service가 제공함.
- 형상 관리 시스템 : 설정 정보를 저장하고 주입하는 저장소로 형상 관리 시스템을 사용함. Local git, Remote git, Native file 등의 레포지토리를 사용할 수 있음.
- Spring Boot Actuator : 구성정보 파일 확인과 서비스 사용 기능 제공.
- Profiles : 개발, 테스트, 운영 등의 환경을 분리하여 설정값 집합을 프로필로 관리함.
Spring Cloud Config
Spring Cloud Config란?
- 분산 시스템에서 서버, 클라이언트 구성에 필요한 설정 정보를 외부 시스템에서 관리한다.
- 하나의 중앙화된 저장소에서 일괄적으로 구성요소를 관리할 수 있다.
- 설정값이 바뀌었을 때 서비스를 다시 빌드하지 않고 바로 적용 가능하다.
- 애플리케이션 배포 파이프라인을 통해 개발, 테스트, 운영 환경에 맞는 구성 정보를 사용할 수 있다.
- 설정값을 보관하는 저장소는 보안 정도에 따라 다양하게 적용할 수 있다. local git repository, security vault, secure file storage 등.