728x90
반응형
SMALL
Spring in Action (5판)
- 스프링 5의 강력한 기능과 생산성을 활용한 웹 애플리케이션 개발
- Walls, Craig 지음
- 제어펍 출판사
- 2020.05.14
스프링 인 액션 개인 스터디 내용을 정리하자.
Message System
Application 간 Message를 주고받는 Communiation Mechanism
ex) RabbitMQ, Kafka
AMQP
Advanced Message Queuing Protocol로, MOM(Message Oriented Middleware) 구현을 위한 표준 프로토콜이다.
Component
- Exchange
Publisher로부터 수신한 Messge를 적절한 Queue 또는 다른 Exchange로 분배하는 라우터 기능을 담당
각 Queue나 Exchange는 Binding을 사용해서 Exchagne에 바인드 되어 있고, Exchange는 수신한 Message를 Binding에 따라 라우팅 시킨다.
- Queue
Message를 저장하고, Consumer에게 전달하는 역할
- Binding
Exchange와 Queue의 관계를 정의한 일종의 라우팅 테이블
- Routing Key
Message Header에 포함되는 일종의 가상 주소
Exchange는 이것을 이용해서 어떤 Queue로 라우팅 할지 결정한다.
- Exchange Type
Default / Direct / Topic / Fanout / Header / Dead Letter 등 다양한 Exchange Type 존재
동작
Message Publisher는 Exchange에 Message를 보낸다.
이때, Publisher는 Exchange Queue에 연결되어 있는 Message를 수신하는 쪽을 모른다.
Exchange는 Routing Key를 사용하여 관련 하나 또는 그 이상의 Queue에 Message를 보낸다.
Consumer는 Queue에 연결되어 메시지를 수신하게 된다.
즉, Publisher가 Routing Key 1번으로 Message를 보냈다면, Queue1에 라우트 되고, Consumer1에 전달된다.
Rout Key 2번일 땐 동일한 방식으로 Queue2, Consumer2에 전달된다.
Message는 Routing Key를 갖고 Exchange (거래소)로 전달되고 Queue에서 읽혀서 소비된다.
Message는 바인딩 정의를 기반으로 Exchagne에서 Queue로 전달된다.
728x90
반응형
LIST
'Study > Spring in Action' 카테고리의 다른 글
[Spring in Action] Spring Integration 스프링 통합하 (0) | 2021.01.24 |
---|---|
[Spring in Action] Stateless vs Stateful (0) | 2021.01.24 |
[Spring in Action] Spring RestTemplate (0) | 2021.01.24 |
[Spring in Action] Spring REST Sample 예제 (0) | 2021.01.24 |
[Spring in Action] Spring REST (0) | 2021.01.24 |