Dead letter queue

From HandWiki
Short description: Term used in Message queueing

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] Apache Kafka[14] and Apache Pulsar.[15][16]

See also

References

  1. "Dead Letter Channel". https://www.enterpriseintegrationpatterns.com/patterns/messaging/DeadLetterChannel.html. 
  2. 2.0 2.1 Redkar, Arohi (2004). Pro MSMQ: Microsoft Message Queue Programming. Apress. pp. 148. ISBN 1430207329. 
  3. "Dead-letter queues". IBM. http://pic.dhe.ibm.com/infocenter/wmqv7/v7r1/index.jsp?topic=%2Fcom.ibm.mq.doc%2Fic10420_.htm. Retrieved 23 February 2014. 
  4. "Dead Letter Exchanges — RabbitMQ". https://www.rabbitmq.com/dlx.html. 
  5. 5.0 5.1 RabbitMQ dead letter queue "Dead Letter Exchanges". https://www.rabbitmq.com/dlx.html. 
  6. "Amazon SQS dead-letter queues". AWS. https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html. 
  7. 7.0 7.1 "Using Amazon SQS Dead Letter Queues". Amazon. http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSDeadLetterQueue.html. Retrieved 23 February 2014. 
  8. "Invalid Message Channel". https://www.enterpriseintegrationpatterns.com/patterns/messaging/InvalidMessageChannel.html. 
  9. "Amazon EventBridge announces support for Dead Letter Queues". Amazon. https://aws.amazon.com/it/about-aws/whats-new/2020/10/amazon-eventbridge-announces-support-dead-letter-queues. 
  10. "Forwarding to dead-letter topics | Cloud Pub/Sub" (in en). https://cloud.google.com/pubsub/docs/dead-letter-topics. 
  11. spelluru. "Compare Azure messaging services" (in en-us). https://docs.microsoft.com/en-us/azure/event-grid/compare-messaging-services?toc=%2fazure%2fservice-bus-messaging%2ftoc.json. 
  12. Böhm-Mäder, Johannes (14 December 2011). WebSphere MQ Security: Tales of Scowling Wolves Among Unglamorous Sheep. BoD. pp. 68. ISBN 978-3842381506. 
  13. "Solace Dead Message Queues". https://docs.solace.com/Configuring-and-Managing/Setting-Dead-Msg-Queues.htm. 
  14. "Apache Kafka documentation". https://docs.confluent.io/cloud/current/connectors/dead-letter-queue.html. 
  15. "Apache Pulsar documentation". https://pulsar.apache.org/docs/en/concepts-messaging/#dead-letter-topic. 
  16. "Apache Pulsar PIP-22:Dead Letter Topic". https://github.com/apache/pulsar/wiki/PIP-22:-Pulsar-Dead-Letter-Topic.