Spring Cloude Bus
- 분산 시스템에서 구성 변경 사항을 전파하는 라이브러리
- 구성 변경 사항이 발생하면, 해당 변경 사항을 구독한 모든 인스턴스에 대해 자동으로 전파되어 구성 변경을 쉽게 처리할 수 있다.
AMQP (Advanced Message Queuing Protocol)
- 메세지 지향 미들웨어를 위한 개방형 표준 으용 계층 프로토콜
Kafka
- 분산형 스트리밍 플랫폼
- 대용량의 데이터를 처리 가능한 메시징 시스템
- 초당 100k+ 이상의 이벤트 처리
- pub/sub, Topic에 메시지 전달
- Ack를 기다리지 않고 전달 가능
- 생산자 중심
RabbitMQ
- 초당 20+ 메시지를 소비자에게 전달
- 메시지 전달 보장, 시스템 간 메시지 전달
- 브로커, 소비자 중심
RabbitMQ 설치 (MAC)
brew update
brew install rabbitmq
RabbitMQ
- export PATH:/usr/local/sbin (환경변수 설정)
- rabbitmq-server (서버 실행)
- brew services start rabbitmq (서버 항상 실행)
- 127.0.0.1:15672 (확인 가능) (시스템에선 : 5672)
- defulat id : guest
- defualt pw : guest
의존성 주입 (build.gradle)
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'org.springframework.cloud:spring-cloud-starter-bus-amqp'
...
}
application.yml
- /actuator/busrefresh (post) 호출시 연결되어있는 모든 서비스 호출
...
spring:
application:
name: gugbab-config-server
rabbitmq:
host: 127.0.0.1
port: 5672
stream:
username: guest
password: guest
...
management:
endpoints:
web:
exposure:
include: refresh, health, beans, httptrace, busrefresh
'MSA' 카테고리의 다른 글
[MSA] Spring Boot - RestTemplate 란? 사용 (0) | 2023.04.23 |
---|---|
[MSA]Spring Boot - Config-server 대칭키 사용 (0) | 2023.04.14 |
[MSA] Spring Boot - Actuator(엑츄에이터) 란? 사용 (0) | 2023.04.12 |
[MSA] Spring Boot - Spring Cloude Config 란? Config Server 생성 (0) | 2023.04.11 |
[MSA] Spring Boot - Api Gateway [Spring Cloud Gateway]란? 생성 (0) | 2023.04.06 |