data-infra

Dead-Letter Queue (DLQ)

A dead-letter queue is a separate holding queue where messages go when they can't be processed successfully — after repeated failures, a malformed payload, or exceeding a retry limit. Instead of blocking the main queue or being lost forever, the problem message is set aside so the rest of the traffic keeps flowing and you can inspect the failure later. The problem it solves is the "poison message": one event that always fails and, without a DLQ, gets retried endlessly, stalling the queue behind it. A DLQ breaks that loop — retry a few times, then divert to the dead-letter queue and move on. For SaaS builders running background jobs, webhooks, or event pipelines (SQS, RabbitMQ, Kafka, etc.), a DLQ is essential operational hygiene. Practical note: a DLQ is only useful if someone watches it. Alert when messages land there, capture enough context to debug (original payload, error, retry count), and build a way to reprocess or discard them once fixed. An unmonitored DLQ is just a place where data quietly dies.

Related terms

More Data & Infra terms