Need FIFO DLQ for Normal SQS

Viewed 304

I need an FIFO DLQ for a SQS standard queue. Context is that a lambda is listening to the SQS and is triggered whenever there is any event in the queue.

Now to replay them need to maintain the order so was thinking of an FIFO queue but found out that it is not possible configure FIFO queue for normal SQS.

Is there any workaround for this situation or anything that can be changed to handle it?

1 Answers

You can't have a FIFO DLQ for a Standard Queue, because order couldn't be maintained.

Either order is maintained through the whole system or not at all - you can't just start re-ordering in the middle of the processing pipeline.

Suppose you have a system that sends lots of messages to the queue and multiple consumers work on them in parallel. Any of these consumers may fail to process messages at any point in time, there's no way to guarantee order here.

Essentially you loose exact replay capabilities when you go with a standard queue, unless your operations are idempotent and non-conflicting.

Related