메시지 큐 기초
핵심
메시지 큐 기초
왜 메시지 큐가 필요한가?
- 비동기 처리: 이메일 발송, 알림 등 즉시 응답 불필요한 작업
- 디커플링: 서비스 간 직접 의존 제거
- 버퍼링: 트래픽 급증 시 요청을 큐에 저장 후 처리
주요 메시지 브로커
| 브로커 | 특징 | 적합 사례 |
|---|---|---|
| Kafka | 고처리량, 로그 기반 | 이벤트 스트리밍, 로그 수집 |
| RabbitMQ | 유연한 라우팅, AMQP | 작업 큐, RPC |
| SQS | AWS 관리형 | 간단한 비동기 처리 |
실무 포인트
- At-least-once vs Exactly-once: 대부분 At-least-once → 멱등성 보장 필요
- 메시지 순서 보장이 필요한가? → Kafka 파티션 키 활용
- DLQ(Dead Letter Queue)로 실패 메시지 관리
면접에서 이렇게 나옵니다
- Q.메시지 큐를 왜 쓰나요?
- Q.Kafka vs RabbitMQ 차이는?
- Q.메시지 유실을 어떻게 방지하나요?