Reputation: 184
In AWS SQS FIFO's Queues; when the visibility timeout of a readed message, in which possition of the queue will be the message?
For example:
Which will be the new order of messages?
Upvotes: 5
Views: 2849
Reputation: 1
[A, B, C, D]
is correct if and only if all the messages share the same message group ID. If they do not, visibility timeout expiration will send the message to the back of the queue. ([B, C, D, A]
).
The only way to process multiple messages simultaneously from an SQS FIFO queue is to use multiple message group IDs, which unfortunately breaks oldest message first ordering.
Upvotes: -1
Reputation: 270089
The order remains the same: [A, B, C, D]
In fact, it is not possible to fetch another message from the queue with the same Message Group ID until message A has been processed. This ensures that the order is preserved.
Where certain messages are allowed to be processed in parallel, you can specify a different Message Group ID.
Upvotes: 9