Spring Cloud Config는 분산 시스템에서 설정 관리를 편리하게 할 수 있는 도구입니다. 이를 사용하면 설정 파일을 중앙 집중식으로 관리하고, 여러 마이크로서비스 간에 설정을 공유할 수 있습니다.
1. Spring Cloud Config 서버 설정하기
먼저, Spring Cloud Config 서버를 설정해야 합니다. 이를 위해서는 @EnableConfigServer
어노테이션을 사용하여 Config 서버를 실행할 수 있습니다.
@SpringBootApplication
@EnableConfigServer
public class ConfigServerApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigServerApplication.class, args);
}
}
위의 예제는 Spring Boot 애플리케이션을 생성하고 @EnableConfigServer
어노테이션을 사용하여 Config 서버를 활성화하고 있는 예시입니다.
2. 설정 파일 저장소 구성하기
Spring Cloud Config에서는 설정 파일을 Git, Subversion 등의 저장소에 저장할 수 있습니다. 예를 들어, Git을 사용하여 설정 파일을 저장하고자 한다면, spring.cloud.config.server.git.uri
프로퍼티를 설정하여 Git 저장소의 URL을 지정해야 합니다.
spring:
cloud:
config:
server:
git:
uri: https://github.com/my-repo.git
위의 예제는 Config 서버에서 Git 저장소의 URL을 https://github.com/my-repo.git
로 설정하고 있습니다.
3. 마이크로서비스에서 설정 가져오기
마이크로서비스는 Config 서버에서 설정을 가져와야 합니다. 이를 위해서는 bootstrap.properties
파일을 사용하여 Config 서버의 URL을 지정해야 합니다.
spring.cloud.config.uri=http://localhost:8888
위의 예제는 Config 서버의 URL을 http://localhost:8888
로 설정하고 있습니다.
4. 설정 사용하기
마이크로서비스에서는 @Value
어노테이션을 사용하여 Config 서버에서 가져온 설정을 사용할 수 있습니다.
@RestController
public class MyController {
@Value("${my.property}")
private String myProperty;
// ...
}
위의 예제는 Config 서버에서 가져온 my.property
설정을 myProperty
변수에 주입하는 예시입니다.
결론
위의 방법을 통해 Spring Cloud Config를 사용하여 분산 시스템의 설정을 효과적으로 관리할 수 있습니다. Config 서버를 설정하고 마이크로서비스에서 설정을 가져와 사용하는 과정을 숙지하면, 팀의 개발 생산성과 유지보수 편의성을 높일 수 있을 것입니다.