학습일지/Architecture
[Architecture] 중앙 집중식 Config 설정 관리
Merge Log
2025. 9. 17. 16:40
Spring Cloud Config
- 분산 시스템 환경에서 중앙 집중식 구성 관리를 제공해주는 프레임워크입니다
- 각 서비스의 설정을 중앙에서 관리 및 애플리케이션 부팅 시(또는 런타임시) 그 설정을 원격으로 가져와 적용하게 해주는 구성 시스템
- Git, 파일시스템, JDBC 등 다양한 저장소를 지원합니다
- 환경별 구성 관리 / 실시간 구성 변경 등의 기능을 지원합니다
실시간 구성 변경 방법
Spring Cloud Bus를 이용하는 방법- 이를 위해서는 메시징 시스템(RabbitMQ 또는 Kafka 등) 을 사용하여 변경 사항을 전파합니다
- 수동으로
/actuator/refresh엔드포인트를 호출하는 방법- 클라이언트 애플리케이션에서 수동으로 갱신, Spring Actuator 의
actuator/refresh엔드포인트를 요청 - 방법은 간단하지만 각 클라이언트 애플리케이션에서 수동으로 호출해야한다
- 클라이언트 애플리케이션에서 수동으로 갱신, Spring Actuator 의
Spring Boot DevTools를 사용하는 방법- 개발환경에서 변경파일을 감지하며 애플리케이션을 재시작, classpath 내의 파일 변경도 포함됩니다
- Git Repository 를 이용하는 방법 등
- Spring Cloud Config 서버가 Git Repository 에서 파일을 읽어오도록 할 수 있습니다
로컬에서 수동으로 config 실시간 반영 테스트
구조

- Client 가
Product조회- Product App 은 port 와 message 를 Config Server 에서 조회
- Client 가 POST
actuator/refresh요청 (@RefreshScope를 적용한 Application 에서 요청해야함)- Config Server 에서 정보를 가져와서 Product 에 반영
테스트 코드