지금까지 spring framework 을 사용하여 개발시 아래와 같이 local/dev/test 와 같이 여러개의 설정파일들을 나눠서 사용하였다.
기존 dev/test/local 환경일때마다 주석처리 해주는 수고는 덜어주었다.
하지만 설정 값을 변경 후에는 꼭 서비스를 재 시작 해야하는 번거로움 이 존재 하였다.
이런 문제점을 해결할수있는 서비스가 spring cloud config 라는 것이다.
http://docs.pivotal.io/spring-cloud-services/1-5/common/config-server/index.html
spring cloud config 를 도입했을때 프로세스는 그림과 같다.
간단히 요약 하면,,,,
- config 파일을 별도로 관리하는 git repository (dev/test/local/op etc...)
- config 파일 중계 역할을 하는 config server
- config server 로부터 가져온 config 파일을 적용
- config 파일이 변경 될 경우 각 client 서버에 /refresh 를 요청해주어야 한다. (변경된 설정 파일로 반영 시킴)
- client 서버 실행시 각 dev/local/test 환경인지 결정하여 실행 시키도록 한다.
개발 및 설정:
- git repository
create config file
- config server
dependency -> config-server
@EnableConfigServer
- cloud config 를 사용할 config client 생성
dependency -> config-client, actuator
*** actuator 는 config 파일에 대한 변경이 있을 경우 반영 받기위해 사용 (refresh)
cloud config server uri 지정 (properties: config 파일을 받기위해 config server 와 연동해야함)
'Spring & Java' 카테고리의 다른 글
Intellij kotlin var inspection disable (0) | 2018.04.19 |
---|---|
Java enum and toString() 구현 (0) | 2018.04.10 |
spring boot admin server (0) | 2018.02.11 |
JPA 와 JDBCTemplate 저장 속도 비교 (0) | 2017.09.28 |
JPA saveIterable 과 save 저장 속도 (1) | 2017.09.28 |