Dead letter queue

From Wikipedia, the free encyclopedia

In message queueing a dead letter queue (DLQ) is a service implementation to store messages that the messaging system cannot or should not deliver.[1] Although implementation-specific, messages can be routed to the DLQ for the following reasons:

  1. The message is sent to a queue that does not exist.[2][3]
  2. The maximum queue length is exceeded.
  3. The message exceeds the size limit.
  4. The message expires because it reached the TTL (time to live)[4]
  5. The message is rejected by another queue exchange.[5]
  6. The message has been read and rejected too many times.[6]

Routing these messages to a dead letter queue enables analysis of common fault patterns and potential software problems.[7] If a message consumer receives a message that it considers invalid, it can instead forward it an Invalid Message Channel,[8] allowing a separation between application-level faults and delivery failures.

Queueing systems that incorporate dead letter queues include Amazon EventBridge,[9] Amazon Simple Queue Service,[7] Apache ActiveMQ, Google Cloud Pub/Sub,[10] HornetQ, Microsoft Message Queuing,[2] Microsoft Azure Event Grid and Azure Service Bus,[11] WebSphere MQ,[12] Solace PubSub+,[13] Rabbit MQ,[5] Confluent Cloud[14] and Apache Pulsar.[15][16]

See also[edit]


  1. ^ "Dead Letter Channel".
  2. ^ a b Redkar, Arohi (2004). Pro MSMQ: Microsoft Message Queue Programming. Apress. p. 148. ISBN 1430207329.
  3. ^ "Dead-letter queues". IBM. Retrieved 23 February 2014.
  4. ^ "Dead Letter Exchanges — RabbitMQ". Retrieved 2020-12-06.
  5. ^ a b RabbitMQ dead letter queue "Dead Letter Exchanges".
  6. ^ "Amazon SQS dead-letter queues". AWS.
  7. ^ a b "Using Amazon SQS Dead Letter Queues". Amazon. Retrieved 23 February 2014.
  8. ^ "Invalid Message Channel".
  9. ^ "Amazon EventBridge announces support for Dead Letter Queues". Amazon.
  10. ^ "Forwarding to dead-letter topics | Cloud Pub/Sub". Google Cloud. Retrieved 2020-12-26.
  11. ^ spelluru. "Compare Azure messaging services". Retrieved 2020-01-17.
  12. ^ Böhm-Mäder, Johannes (14 December 2011). WebSphere MQ Security: Tales of Scowling Wolves Among Unglamorous Sheep. BoD. p. 68. ISBN 978-3842381506.
  13. ^ "Solace Dead Message Queues".
  14. ^ "Confluent Cloud documentation".
  15. ^ "Apache Pulsar documentation".
  16. ^ "Apache Pulsar PIP-22:Dead Letter Topic". GitHub.