确保来自SQS的消息在给定时间被单个消费者使用



我配置了一个带有一个发布者和三个使用者的SQS FIFO队列。我想按顺序处理发布到队列中的所有消息。队列中发布的所有消息都属于同一组。

我已经阅读了SQS文档,并了解到通过配置适当的可见性超时,我们可以确保在任何给定时间只有一个消费者处理消息。在可见性超时期内,消息将不会移交给任何其他使用者。

这里我的问题是,当一个消费者处理一条消息时,队列中的其他消息是否有可能被另一个消费者消费?

如果是,如何确保在给定时间只有一个消费者在消费队列中的消息?

队列中的其他消息是否被另一个消费者消费?

如果它们位于不同的消息组中,则其他消费者可以读取不同的消息。但是,如果FIFO队列中的所有消息都属于同一组,则它们的顺序和处理由AWS:保证

属于同一消息组的消息总是按照消息组的严格顺序逐个处理(但是,属于不同消息组的邮件可能会被无序处理(。

最新更新