본문 바로가기
프로그래밍

3. Spring Cloud를 이용한 MSA 구축하기 - config client

by 탁구치는 개발자 2018. 5. 15.

Config Server가 구축 되었으니 클라이언트 설정을 해보자.



[1] 의존성 추가

spring 프로젝트의 pom.xml 에 다음의 의존성을 추가해 준다.

1
2
3
4
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
</dependency>
cs


[2] bootstrap.yml 파일

다음처럼 config server 정보를 넣어주면 된다. (config server관련 내용은 http://lng1982.tistory.com/292?category=703190 에서 확인할 수 있다.)

fail-fast 옵션을 true로 하게 되면 front-service 스프링 애플리케이션 구동 시 config server의 상태를 확인한다.

config server가 shutdown 되어 있다면 오류를 발생시키고 서버가 중지된다.

1
2
3
4
5
6
7
spring:
  application:
    name: front-service
  cloud:
    config:
      uri: http://localhost:8888
      fail-fast: true
cs

여기서 중요한 것은 config-server에 front-service.yml 설정 파일이 존재해야 한다는 것이다.



[3] 자바 실행 코드

config 클라이언트 설정을 위해 별도의 애노테이션이 추가되지는 않는다. 

다음과 같이 기본 코드를 실행하면 config-server로부터 front-service.yml 설정을 받아와 사용한다.

1
2
3
4
5
6
7
8
9
@EnableFeignClients
@EnableEurekaClient
@SpringBootApplication
public class FrontServiceApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(FrontServiceApplication.class, args);
    }
}
cs

다음 로그와 같이 애플리케이션 설정 파일을 config server로부터 가져온 것을 확인할 수 있다.
1
2017-09-22 16:34:39.753  INFO 14136 --- [nfoReplicator-0] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at: http://localhost:8888
cs


[4] 테스트

front-service.yml 파일에 다음과 같은 설정이 존재한다고 하자.

1
2
welcome:
  message: I am a front service..
cs

코드에서는 다음과 같이 사용할 수 있다.

1
2
@Value("${welcome.message:Hello default}")
private String message;
cs