DLQ là một hàng đợi phụ chứa các message không xử lý được sau khi đã retry đủ số lần (sai định dạng, bug consumer, dữ liệu không hợp lệ...).
Vì sao cần:
- Tránh poison message làm kẹt hoặc lặp vô hạn cả hàng đợi chính.
- Cô lập lỗi để hàng đợi chính vẫn chạy tiếp.
- Giữ lại message lỗi để điều tra, sửa, rồi replay sau.
Cách dùng: đặt ngưỡng retry (max receive count); vượt ngưỡng → chuyển message sang DLQ; gắn alert khi DLQ có message; định kỳ xem xét và xử lý lại. Có sẵn ở SQS và RabbitMQ; với Kafka thường tự dựng bằng một topic riêng (vd orders.DLT) do Kafka không có DLQ tích hợp.