16. Spring Cloud Bus
- 📚 Spring/Spring Cloud
- 2023. 5. 10. 16:16
| Spring Cloud Bus
- 분산 시스템의 노드(Microservice)를 경량 메시지 브로커와 연결
- 상태 및 구성에 대한 변경 사항을 연결된 노드에게 전달(Broadcast)
WHY
- config가 변경되면 각 마이크로서비스는 최신 값을 갖고 오기 위해 POST로 http[s]://{microservice host}/actuator/refresh를 해줘야 한다. 물론 이 작업을 자동화할 수도 있겠으나, config server가 각 마이크로서비스의 주소를 모두 관리해야 하니 비효율적입니다.
- Spring cloud bus는 동적으로 config 변경을 적용하기 위한 MQ(Message Queue) Handler 이다.
HOW
- MQ(Message Queue)에 Publisher(=config server)와 Subscriber(마이크로서비스)를 등록
- config 변경 정보를 MQ에 전송(아래 3. Publish Message)
- 각 마이크로서비스에서 config 동적 반영(5. Reload Config)
- 분산 시스템의 노드를 경량 메시지 브로커와 연결
- 상태 및 구성에 대한 변경 사항을 연결된 노드에게 전달(broadcast)
- RabbitMQ
- rabbitmq-plugins enable rabbitmq_management
- http://localhost:15672/
- guest/guest
참고: http://www.linkedin.com/in/incheolJung
참조: https://happycloud-lee.tistory.com/211
참조: http://blog.eomdev.com/springcloud/2019/04/01/Spring-Cloud-Bus.html
1) AMQP (advanced Message Queuing Protocol)
- 메시지 지향, 큐잉, 라우팅(P2P, Publisher-Subcriber), 신뢰성, 보안
- Erlang, RabbitMQ에서 사용
2) Kafka 프로젝트
- Apache Software Foundation이 Scalar 언어로 개발한 오픈 소스 메시지 브로커 프로젝트
- 분산형 스트리밍 플랫폼
- 대용량의 데이터를 처리 가능한 메시징 시스템
3) 예시화면
'📚 Spring > Spring Cloud' 카테고리의 다른 글
19. 대칭키를 활용한 DB정보 암호화 (0) | 2023.05.27 |
---|---|
18.대칭키와 비대칭키 (0) | 2023.05.15 |
[Error] JWT 구현 시 javax/xml/bind/DatatypeConverter 에러 대처법 (0) | 2023.05.04 |
14. Spring Cloud Config / Actuator (0) | 2023.02.13 |
13. User-Service - AuthorizationHeaderFilter 추가 (0) | 2023.02.13 |