Spring Cloud Config & Bus-Refresh 도입기
·2025.11.05 02:38
Spring Cloud Config와 Bus-Refresh를 활용해 서비스 재배포 없이 실시간으로 설정을 동기화하는 시스템을 구축했다.
마이크로서비스(MSA) 환경에서 설정값 하나를 변경하기 위해 전체 서비스를 재배포해야 하는 비효율성을 해결하기 위해 Spring Cloud Config Server와 Bus-Refresh를 도입했다.
Spring Cloud Config Server는 Git과 같은 중앙 저장소에서 설정 파일을 통합 관리하며, 변경 사항을 각 서비스에 실시간으로 전파하는 지휘자 역할을 수행한다. 기존 AWS Parameter Store와 비교했을 때, Git을 통한 버전 관리 및 롤백이 가능하고 복잡한 설정 계층을 구조화할 수 있다는 장점이 있다.
구축된 아키텍처의 동작 과정은 다음과 같다:
- 작곡가(사용자)가 Git에 설정을 Push하면,
- Config Server가 변경을 감지하여
/actuator/busrefresh엔드포인트를 호출한다. - 이 신호가 Amazon MQ를 통해 모든 마이크로서비스로 전파되며,
- 각 서비스는 새로운 설정을 즉시 반영한다.
설정 적용 시에는 @RefreshScope 어노테이션을 사용하여 빈(Bean)을 새로고침해야 하며, 단 Java/Kotlin의 DTO 클래스 필드와 같이 컴파일 시점에 구조가 고정되는 경우에는 적용이 불가능하므로 주의가 필요하다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.