**메시지 큐(message queue)**는 구성 요소 간 비동기 통신을 가능하게 합니다 — 프로듀서가 큐에 메시지를 보내고, 컨슈머가 나중에 처리합니다. 구성 요소를 디커플링하고, 복원력을 높이며, 부하 스파이크를 처리하고, 백그라운드 처리를 가능하게 합니다.
메시지 큐가 하는 일
메시지 큐는 프로듀서와 컨슈머 사이에 위치함:
프로듀서 → [큐] → 컨슈머(들)가 메시지 처리 (비동기로, 자기 속도에 맞춰)
→ 프로듀서는 처리를 기다리지 않음 (보내고 진행)
→ 메시지는 처리될 때까지 저장됨 (버퍼링)
→ 비동기, 디커플링된 통신.
메시지 큐를 사용하는 이유
✓ 디커플링 → 프로듀서와 컨슈머가 독립적 (서로 알거나 동시에 가용할 필요
없음) → 유연하고 복원력 있는 아키텍처
✓ 부하 평준화 → 큐가 스파이크를 버퍼링 → 컨슈머가 꾸준히 처리 (시스템을
압도하지 않고 버스트 처리)
✓ 비동기 / 백그라운드 처리 → 느린 작업(이메일, 이미지 처리, 리포트)을
요청 경로에서 분리 → 빠른 응답
✓ 신뢰성 → 메시지가 처리될 때까지 지속; 실패 시 재시도; 컨슈머가 다운돼도
손실되지 않음
✓ 확장성 → 더 빨리 처리하려면 컨슈머 추가 (병렬 처리)
