Spring Cloud/Spring Cloud Bus
Spring Cloud Bus
Ssemi-Column
2022. 7. 10. 22:33
728x90
Spring Cloud Bus (갱신 자동화)
config가 변경되면 각 Micro Service 는 최신 값을 갖고 오기 위해 POST로 http[s]://{microservice host}/actuator/refresh를 해줘야 합니다. 물론 이 작업을 자동화할 수도 있겠으나, config server가 각 Micro Service 의 주소를 모두 관리해야 하니 비효율적입니다. Spring cloud bus는 동적으로 config 변경을 적용하기 위한 MQ(Message Queue) Handler입니다.
? 언제 어떻게 자동 갱신을 할까 ?
- Update Config Info : Get 설정 값이 갱신. (git push)
- Notify Change Via Git Web Hook : webhook이 POST로 http[s]://{config server host}/actuator/bus-refresh를 실행함. 사전에 git에서 기본으로 제공하는 webhook에 bus-refresh를 수행하는 프로그램을 등록
- Publish Message: config server는 Git에서 변경된 내용을 읽어 MQ에 Publish함
- Notify: MQ는 각 Micro Service에 설정 값 갱신이 필요함을 통지
- Reload Config: 각 Micro Service는 config server를 통해 갱신 된 설정 값을 읽어 반영함
- Message 는 RabbitMQ를 사용한다.
Cloud Server application.yaml - actuator 설정
management:
endpoints:
web:
exposure:
include: 'bus-refresh'
⁜ Config Server 설정은 application.yaml에서 예전처럼 spring.cloud.config.uri로 설정할 수 있고, 우선순위가 정해져 있다.
728x90
반응형
LIST