Dead Letter Queue Sqs Process Again

Why do we need Dead Letter Queues?

Amazon SQS provides the states with a great way of sending and receiving messages asynchronously, where a producer sends a message and a consumer receives it. Later on receiving a message the consumer processes and deletes it. SQS doesn't automatically delete a message immediately afterwards sending it to the consumer, the consumer has to delete it himself when he is certain that the processing is successful.

Still, this is not a perfect world nor is any system, so there are chances that we aren't able to procedure a message, since nosotros didn't process it, we couldn't delete information technology, therefore our queue will send u.s.a. the bulletin once again (after the visibility timeout occurs). In real-earth scenarios sometimes a consumer might fail to procedure a message, there tin exist many reasons behind it like DB failure or some flags are turned off, etc. So, we need to set a limitation on receiving the same message again and once again otherwise the consumer would receive it infinitely till the retention catamenia for a bulletin is over which adds unnecessary billings.

1 fashion to handle such a state of affairs is to delete the message altogether, only tin can we really practise that? If a bulletin is non candy, deleting it will lead to information loss and we obviously don't want our messages to go unprocessed or go lost just there is no benefit in keeping the failed messages in the Chief queue either. And then what to exercise in such a scenario?

What are Dead Letter Queues (DLQ)?

Hither comes the office of Expressionless Letter queues. DLQs are used for storing failed or undelivered messages, the messages which could not be processed by the consumer are moved to DLQ so that they can be processed in the future. Dead letter queues are separate queues, they are processed and monitored separately. They are not automatically configured along with your main queue, just Amazon SQS provides yous an option to configure them with the Chief Queue.

Steps to configure a Dead Letter of the alphabet Queue

Footstep i

Create two Queues: MainQueue and DeadLetterQueue.

Configure Dead letter Queue in Amazon SQS

Step ii

Configure DeadLetterQueue with MainQueue.

Queue-> MainQueue-> Edit-> Expressionless Letter Queue

To configure a DLQ nosotros need to set a Redrive Policy which includes,

  • Set the queue to Enabled state.
  • Queue ARN
    Set it to the ARN of the Queue yous want as a dead letter of the alphabet queue, in this example I will employ the ARN DeadLetterQueue created in Step-1.
  • Maximum receives
    It signifies the number of times a message is received by the consumer before it is moved to DLQ.

Step 3

Ship a message from the Main Queue.

Configure Dead letter Queue in Amazon SQS

Step iv

Receive the bulletin from MainQueue->SendReceieve Message-> Poll for messages.

You volition see the receive count along with the message ID. When you Poll for letters ii times you lot will see the Receive Count as 2.

Configure Dead letter Queue in Amazon SQS

Try to poll for the third time, you will not see any message. But you lot haven't deleted whatever messages still, where did the bulletin go? Well, cheque the Dead Letter Queue perhaps.

Step 5

Cheque the number of messages in the Dead letter Queue and the Principal Queue.

Configure Dead letter Queue in Amazon SQS

As nosotros can come across the message has been moved from the Principal Queue to DeadLetterQueue after being received two times since we have set Maximum Receive number as 2 in the Redrive Policy while configuring the Dead Letter of the alphabet Queue.

The same implementation tin can exist easily washed using C# or Java. All you demand to do is write a trigger for Processing letters from the Dead Letter Queue forth with the usual lawmaking that we write for processing the messages from the Chief Queue, which I volition explicate the upcoming posts.

If yous take any doubts and questions, please permit me know in the comments section.

aterineder.blogspot.com

Source: https://www.c-sharpcorner.com/blogs/configure-dead-letter-queue-in-amazon-sqs2

0 Response to "Dead Letter Queue Sqs Process Again"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel