Spring configuration

푸드테크·2022년 7월 25일
0

Spring configuration 사용법을 정리해 봅니다.

Spring configuration server는 흔히 말하는 Spring의 application.yml파일을 외부 시스템에서 관리하고 받아와서 사용한다고 생각하면 됩니다.

먼저 config server용 프로젝트를 생성 합니다.

이후 정상적으로 spring-cloud-config-server 가 dependency가 되어 있는지 확인합니다.

이후 @EnableConfigServer 애노테이션을 추가합니다.

이후 application.yml의 설정 값을 아래와 같이 넣은후

해당 uri 경로에 git 저장소를 만들고 test_a.yml 파일을 만들어 깃에 커밋 해줍니다.

애플리케이션을 실행시켜 정상적으로 호출되는지 확인 합니다.

여기서 주의해서 볼점은 파란 박스에 호출되는 주소인데 commit한 파일의명에 default를 사용하면 된다. 그럼 빨간 박스와 같이 해당 yml에 저장한 값이 나옵니다.

json viewer 로 보면 해당 설정파일의 기본 정보와 데이터 값이 나오는것을 확인할수 있습니다.

이제 실제 사용 확인을 위해 spring 프로젝트를 하나 생성하여 아래와 같이 spring-cloud-starter-config 를 dependency에 추가해 줍니다.
spring-cloud-starter-bootstrap을 추가하여 application.yml보다 먼저 bootstrap.yml 설정파일을 호출되도록 만듭니다.

이후 bootstrap.yml을 만들고 config server와 연결해줍니다.

이후 애플리케이션을 실행하면 log에 정상적으로 해당 설정파일을 가져오는것을 확인할수 있습니다.

그럼 마지막 테스트를 위해 간단한 GET API 를 만들어 호출해 보겠습니다.

위 처럼 만들고 해당 api를 호출하면 정상적으로 결과값이 나오는걸 알수 있습니다.

이제 모든 설정파일을 한곳에서 관리하고 유동적으로 변경 할수 있도록 만들었다. 이제 //Users/gwon-yeongho/Desktop/etc/Work/git-repo 에 있는 yml 파일만 바꿔주면 설정 정보도 바뀌게 됩니다.

이렇듯 Spring configuration을 사용하면 아래와 같이 4가지 특징을 가질수 있습니다.

  • 분산 시스템에서 설정 정보를 외부 시스템에서 관리
  • 하나의 중앙화 된 저장소에서 통합 관리 가능
  • 서비스를 다시 빌드하지 않고 바로 적용 가능
  • 애플리케이션 배포 파이프라인을 통행 DEV-UAT-PROD 환경에 맞는 구성 정보 사용

이렇게 Spring configuration server 사용 방법에 대해 정리를 해봤는데 MSA 프로젝트를 시작하거나 변경하기에 앞서 한번 더 깊숙히 정리를 해 볼수 있도록 하겠습니다.

감사합니다.

profile
푸드 테크 기술 블로그

1개의 댓글

comment-user-thumbnail
2022년 7월 25일

중앙 서버에서 공통되는 설정 파일들을 모두 관리할 수 있는 방법이군요
유익한 글 감사드립니다 :)

답글 달기