액추에이터는 각 서비스에 대해 요청을 날려야하므로, 서비스가 많은 상황에서는 번거롭다. Spring Cloud Bus를 사용해 일괄적으로 빌드 없이 설정값을 반영해본다.
Spring Cloud Bus란?
컨피그 서버의 설정파일이 변경되었을 때 반영하는 방법
- 서버 재기동 : x
- Actuator Refresh : 각 마이크로서비스에서 /actuator/refresh 요청. 서비스가 많다면 수동 요청 번거롭다.
- Spring Cloud Bus : 분산 시스템의 노드(여기서는 마이크로서비스)를 경량 메시지 브로커(RabbitMQ)와 연결한다. 상태 및 구성에 대한 변경 사항이 발생하면 연결된 노드에 Broadcast 방식으로 전달한다.
push 방식으로 설정값 업데이트 자동화
- 스프링 클라우드 버스에 연결된 마이크로서비스에 데이터가 변경되었음을 push 방식으로 알림
- push 알림을 받은 마이크로서비스는 이때 알아서 설정값을 가져와서 주입함
- AMQP(Advance Message Queuing Protocol) : 메시지 지향 미들웨어를 위한 개방형 표준 응용 계층 프로토콜
클라우드 버스의 동작 방식
- 분산 시스템의 노드를 경량 메시지 브로커와 연결