요깨비's LAB

[Config] 최신 Spring Boot 2.4.x 버전에서 Legacy Config 수정 본문

MSA/Spring Cloud

[Config] 최신 Spring Boot 2.4.x 버전에서 Legacy Config 수정

요깨비 2021. 5. 11. 16:07

기존의 YOS 프로젝트의 Spring Cloud Config 소스의 Legacy 프로젝트를 개편하면서 알게 된 정보를 기록합니다.
스프링 2.4.x로 업그레이드 되면서 Spring Cloud Version은 2020.0.x를 사용하도록 강제하고 있습니다.

이 과정에서 Config Client 부분의 설정 부분에서 변경점이 생겼습니다.
1. bootstrap.yml을 더이상 사용하지 않는다.(물론 use-legacy-processing: true 설정을 통해 사용은 가능)
2. config server의 uri를 명시하기 위한 yml 표기가 바뀜.

1. bootstrap.yml은 기존의 application.yml의 로드보다 먼저 선행이 되어서 config server로부터 설정파일을 읽어온다음
읽어온 설정파일을 먼저 모듈에 적용하는 방식이었습니다. 하지만 최신 버전의 스프링 부트에서는 기본 application.yml에서
config server의 uri와 application name, profile(optional)을 명시하여 application-profile.yml 파일을 읽어와 적용하도록
변경되었습니다.

2. 기존의 config server의 uri 표기는 bootstrap.yml

spring:
  profiles: dev
  application:
    name: 이름
  cloud:
    config:
      uri: http://localhost:8888

에서

spring:
  application:
    name: yos-apigateway-service
  profiles:
    active: dev
  config:
    import: "configserver:http://localhost:8888"

로 표기 방식이 바뀌었으며, 저는 import 부분에서 "configserver:http://localhost:8888"로 표기하였는데 이는 config server가 죽어서
연결이 실패할 경우, 해당 모듈도 실행이 되지 않도록 강제하는 것으로, 만약 해당 모듈에 default 설정이 되어있고, config server가 문제가
생겨서 죽더라도 모듈 자체는 실행이 되도록 하려면 "optional:configserver:http//localhost:8888" optional만 추가하면 됩니다. 

'MSA > Spring Cloud' 카테고리의 다른 글

[Eureka] Cluster 모드로 설정시 주의사항  (0) 2021.04.27
Comments