심화/MSA

[MSA] Spring Cloud Config

annovation 2025. 11. 4. 22:11

Spring Cloud Config

 

💡config server

  • 각 애플리케이션의 yml 파일과 같은 설정 정보를 개별적으로 관리하는 대신, 중앙에서 효율적으로 관리하기 위해 Config 서버를 만든다.
  •  Config 서버에 모든 설정 파일을 저장하고, 각 서비스(Config 클라이언트)는 Config 서버에서 설정을 받아 사용한다.
  • 설정 변경 시 서비스 재시작 없이 실시간으로 반영하는 설정 갱신 기능도 지원한다.

💡spring cloud config

  • Spring Cloud Config는 분산 시스템 환경에서 중앙 집중식 구성 관리를 제공하는 프레임워크
  • 애플리케이션의 설정을 중앙에서 관리하고, 변경 사항을 실시간으로 반영할 수 있다.
  • Git, 파일 시스템, JDBC 등 다양한 저장소를 지원한다.

필요한 이유

 

💡config가 필요한 이유

  • 일반적으로 application.yml 파일이나 @Value 어노테이션으로 관리하는 설정값은 애플리케이션이 처음 시작될 때 한번만 읽어 들인다. 따라서 이 값을 변경하려면 코드를 수정하고 CI/CD 파이프라인을 통해 애플리케이션을 재배포(다시 껐다 켜기) 해야만 한다.
  • 하지만 10만 명이 사용하는 서비스에서 재배포를 위해 잠시라도 애플리케이션을 중단하면, 그동안 들어오는 수많은 요청들을 처리할 수 없어 서비스 장애로 이어질 수 있다.
  • 이런 문제를 해결하기 위해, 애플리케이션을 재시작하지 않고도 설정 변경을 실시간으로 반영할 수 있는 동적 설정 관리(중앙화된 Config 서버)가 필요하다.

출처

https://teamsparta.notion.site/1-9-Config-2242dc3ef514814fabdeff5015b1dbe1

 

챕터1-9 : Config | Notion

9.1 Spring Cloud Config 개요

teamsparta.notion.site