What is the difference between Azure Dead Letter Queues and Poison Queues when using Storage Queue and Service Bus?

Viewed 878

What is the difference between Azure Dead letter queue and Poison queue with respect to Storage Queue and Service Bus?

How do I read the messages from those queues?

1 Answers

A poison message is a message that is sent to the queue or topic that the consuming application cannot process correctly.

Once the DeliveryCount of these messages reaches the MaxDeliveryCount of the queue/topic, they will then be classed as poison messages.

These messages will be sent to a queue called <originalqueuename>-poison.

Both Azure Queue Storage & Azure Service Bus support poison messages but Azure Queue Storage does not support automatic dead-lettering.

This means that while in Azure Service Bus you can set expired messages to be moved into a DLQ for later processing, messages with a TTL value that expire in Azure Queue Storage will be deleted permanently.

Otherwise, handling of messages that will "poison" the system & can never be consumed, is pretty much the same in both offerings.

Both offer a poison queue however only one offers a DLQ.

Related