Dead-letter exchange (DLX) là exchange đặc biệt nhận các message không thể xử lý được. RabbitMQ route message đến DLX khi:
basic.reject/basic.nackvớirequeue=false- message hết TTL
- queue vượt max-length. RabbitMQ không tự track retry count — đó là logic phía consumer, thường qua header
x-death. Bạn bind một queue khác vào DLX để inspect lỗi, log, gửi alert, hoặc retry với logic khác
Ví dụ: consumer chính fail → message vào dead-letter queue → service phân tích riêng inspect và route đến human review queue.
A dead-letter exchange (DLX) receives messages that cannot be processed. RabbitMQ routes a message to the DLX when:
basic.reject/basic.nackwithrequeue=false- TTL expires
- queue max-length overflow. RabbitMQ does not track retry count natively — consumers manage this via the
x-deathheader. Bind another queue to inspect failures, log them, alert, or retry with different logic
Example: consumer fails → DLX → analyzer inspects → human review queue.