- 데드 레터 큐(DLQ)는 메시지 처리 실패 시 메시지를 보관하는 곳으로, 미션 크리티컬 애플리케이션에서 데이터 손실을 방지하는 데 중요합니다. 🗄️
- 메시지는 소비자 거부, 만료, 큐 용량 초과 등으로 인해 DLQ로 이동할 수 있습니다. ⏳
- RabbitMQ에서 생산자는 메시지를 Exchange로 보내고, Exchange는 메시지를 큐로 라우팅하며, 큐는 메시지를 소비자에게 전달합니다. 📤
- 각 큐는 자체 DLX(Dead Letter Exchange)를 가질 수 있으며, DLX는 메시지를 해당 DLQ로 라우팅합니다. 🚦
- DLQ의 이점으로는 메시지 손실 관찰 및 디버깅 개선, 메시지 손실 방지 등이 있습니다. 🐛
- DLQ의 단점으로는 기술 부채 발생 가능성, 비정상적인 메시지 처리, 근본적인 문제 마스킹 등이 있습니다. 🚧
- 쿼럼 큐는 '최소 한 번' 전략을 통해 메시지 전달의 신뢰성을 높일 수 있습니다. ✅
- DLQ는 안전망일 뿐 재시도 메커니즘이 아니므로, 메시지를 다시 큐에 넣기 전에 철저한 조사가 필요합니다. 🔍
- DLQ는 비정상적인 메시지를 수동으로 처리해야 하므로, 지속적인 모니터링과 관리가 필요합니다. 👨💻
- DLQ를 통해 메시지 처리 실패 원인을 파악하고, 필요한 경우 수동으로 재처리하여 데이터 무결성을 유지할 수 있습니다. 🛠️





