RabbitMQ의 유연한 exchange와 binding은 다양한 메시징 패턴 — work queue, publish/subscribe, routing, topic, request/reply(RPC) — 을 지원합니다. 이 패턴들을 이해하는 것은 RabbitMQ를 다양한 통신 요구에 활용하는 핵심입니다.
Work queue (작업 분배)
WORK QUEUE → 여러 WORKER 사이에 작업을 분배 (competing consumers):
→ producer → queue → 여러 consumer (각 메시지는 ONE worker로) → 병렬 처리
→ 용도: 백그라운드 작업 분배; 작업 처리 확장
Publish/Subscribe (브로드캐스트)
PUB/SUB → 여러 consumer에게 메시지 브로드캐스트 (각자 복사본을 받음):
→ FANOUT exchange → 바인딩된 모든 queue가 메시지를 받음 → 모든 consumer가 수신
→ 용도: 관심 있는 모든 당사자에게 이벤트 브로드캐스트 (알림, 업데이트)
