|HOME PATTERNS RAMBLINGS ARTICLES TALKS DOWNLOAD BOOKS CONTACT|
An enterprise is using Messaging to integrate applications.
What will the messaging system do with a message it cannot deliver?
When a messaging system determines that it cannot or should not deliver a message, it may elect to move the message to a Dead Letter Channel.
The specific way a Dead Letter Channel works depends on the specific messaging system’s implementation, if it provides one at all. The channel may be called a “dead message queue” [Monson-Haefel, p.125] or “dead letter queue.” [MQSeries], [Dickman, pp.28-29] Typically, each machine the messaging system is installed on has its own local Dead Letter Channel so that whatever machine a message dies on, it can be moved from one local queue to another without any networking uncertainties. This also records what machine the message died on. When the messaging system moves the message, it may also record the original channel the message was supposed to be delivered on....
Example: Dead Letter Queue in Amazon SQS
Many hosted messaging systems, for example Amazon's Simple Queuing Service (SQS) provide a Dead Letter Channel. Amazon's Dead Letter Queue behavior is closely related to the way messages are delivered. When a consumer fetches a message from a queue, the messages remains on the queue, but is simply made invisible to keep other consumers from fetching and processing the same message. After processing a message, the consumer is responsible for deleting the message. If the consumer doesn't delete the message, for example because because it crashed while processing the message, the message becomes visible again after the message's Visibility Timeout expires. Each time this happens, the message's receive count is increased. When this count reaches a configured limit, the message is placed in a designated Dead Letter Queue.
Want to keep up-to-date? Follow My Blog.
Want to read more in depth? Check out My Articles.
Want to see me live? See where I am speaking next.
|© 2003, 2017 • Bobby Woolf • All rights reserved.|