Spring Cloud Config는 마이크로서비스 구축에서 설정 관리를 쉽게 할 수 있도록 도와주는 오픈소스 프로젝트이다. 이번 글에서는 Spring Cloud Config를 활용한 설정 관리 방법에 대해서 알아보겠다.

Spring Cloud Config란 무엇인가?

Spring Cloud Config는 설정 파일들을 외부에 저장하고 관리하는 역할을 한다. 이를 통해 설정 파일들의 중앙 집중화를 가능하게 하며, 서비스간 공통적으로 사용되는 설정들을 한 곳에서 관리할 수 있다.

Spring Cloud Config 설치 및 설정 방법

Spring Cloud Config를 사용하기 위해서는 먼저 Spring Boot를 필요로 한다. Spring Boot를 사용하는 프로젝트에 Spring Cloud Config를 추가하면 된다. 이후에는 application.yml에서 Spring Cloud Config Server의 설정을 추가해주면 된다.

spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/{username}/{repository}.git
          searchPaths: /{folder}
          username: {username}
          password: {password}

위 설정에서는 Spring Cloud Config Server가 {username}/{repository} 저장소의 /{folder} 안에서 설정 파일들을 찾도록 되어있다.

Spring Cloud Config로 외부 설정 파일 관리하기

Spring Cloud Config Server에서 설정 파일들을 외부에 저장한다면, 각 서비스에서는 해당 설정 파일들을 가져오기만 하면 된다. 이를 위해서는 각 서비스의 bootstrap.yml 파일에 다음과 같이 설정해주면 된다.

spring:
  cloud:
    config:
      uri: http://{config-server-url}:{config-server-port}

위와 같이 설정하면 {config-server-url}:{config-server-port}에서 설정 파일들을 가져오게 된다.

Spring Cloud Config를 활용한 설정 자동 갱신 방법

Spring Cloud Config를 사용하면 설정 파일들을 외부에 저장하여 관리할 수 있으며, 이를 통해 변경된 설정 파일들을 서비스에서 자동으로 갱신할 수 있다. 이를 위해서는 각 서비스의 설정 파일에서 다음과 같이 설정해주어야 한다.

spring:
  cloud:
    config:
      enabled: true
      failFast: true
      refreshInterval: 3000

위와 같이 설정하면 3초마다 설정 파일을 가져와 변경된 설정이 있다면 자동으로 갱신된다.

이번 글에서는 Spring Cloud Config를 활용한 설정 관리 방법에 대해 알아보았다. Spring Cloud Config를 사용하면 설정 파일들을 외부에 저장하여 관리할 수 있으며, 이를 통해 서비스간 공통적으로 사용되는 설정들을 한 곳에서 관리할 수 있다. 또한 설정 파일을 외부에 저장하여 관리하면 변경된 설정 파일들을 서비스에서 자동으로 갱신할 수 있다는 장점이 있다. Spring Cloud Config를 이용하여 마이크로서비스 구축에서 설정 관리를 쉽게 할 수 있다.

Reference : Spring Cloud Config를 활용한 설정 관리 방법

+ Recent posts