I have configured an SQS FIFO queue with one publisher and three consumers. I would like to process all the messages published to the queue in order. All the messages published in the queue belong to the same group.
I have gone through the SQS documentation and understood that by configuring a suitable visibility timeout, we can ensure that only one consumer processing a message at any given time. Within the visibility timeout period, the message will not be handed over to any other consumer.
Here my question is when one message is being processed by one consumer, is there any chance that other messages in the queue get consumed by another consumer?
If yes, what is the way to ensure, at a given time only one consumer is consuming messages from queue?