RabbitMQ

AMQP를 구현한 메세지 브로커 시스템


구조

Untitled

PRODUCER : 메세지를 보내는 사람 (큐에 직접 접근하지 않고 EXCHANGE를 통해 접근)

EXCHANGE : 메세지를 목적지(큐)에 맞게 전달해주는 배달원

QUEUES : 메세지를 쌓는 큐(이름으로 구분, 같은 이름, 다른 설정으로 생성하면 오류 발생)

CONSUMER : 메세지를 받는 사람 (큐에 직접 접근하여 메세지를 가져옴)

PRODUCER가 메세지를 보내면 EXCHANGE에서 해당하는 키에 맞게

**큐에 분배**를 하고 해당 큐에서 CONSUMER가 메세지를 받음


EXCHANGE

PRODUCER들에게 전달 받은 메세지들을 어떤 큐들에게 발송할지를 결정하는 객체

타입 설명 특징
Direct Routing key가 **정확히 일치**하는 Queue에 메세지 전송 Unicast
Topic Routing key **패턴이 일치**하는 Queue에 메세지 전송 Multicast
Headers [key:value]로 이루어진 **header 값을 기준 일치**하는 Queue에 메세지 전송 Multicast
Fanout 해당 Exchange에 등록된 모든 Queue에 메세지 전송 Broadcast