RabbitMQ는 널리 사용되는 오픈소스 message broker입니다. producer로부터 메시지를 받아 queue를 통해 consumer에게 전달하며, 애플리케이션 간의 비동기적이고 느슨하게 결합된 통신을 가능하게 합니다. 작업 큐(task queue), 메시징, 서비스 연결 등에 폭넓게 사용됩니다.
RabbitMQ란 무엇인가
RabbitMQ = MESSAGE BROKER (메시징을 위한 미들웨어):
→ PRODUCER가 RabbitMQ로 메시지를 보내고, CONSUMER가 메시지를 받음
→ RabbitMQ가 메시지를 알맞은 queue로 ROUTING하여 consumer에게 전달함
→ 메시징 패턴(queue, pub/sub, routing)을 안정적으로 구현함
→ 송신자와 수신자를 분리(decouple)하는 신뢰성 있는 중개자
RabbitMQ는 어디에 사용되는가
✓ TASK / JOB 큐 → 작업을 백그라운드 worker로 넘김 (나중에 비동기 처리)
✓ 서비스 DECOUPLING → 서비스들이 메시지로 통신 (독립적, 비동기)
✓ 비동기(ASYNC) 처리 → 블로킹하지 않고 백그라운드에서 작업 처리
✓ 부하(LOAD) 분산 → 여러 worker에 작업을 분배
✓ Pub/Sub, routing, request/reply → 서비스 간 유연한 메시징 패턴
→ 마이크로서비스, 백그라운드 처리, 통합(integration)에서 흔히 사용
