SNS FIFO topic 的消息是否严格按照顺序重试到 SQS FIFO Queue?

问题描述 投票:0回答:1

我们正在开发一种发布-订阅架构,我们希望使用 SNS 扇出到多个 SQS 队列。我们有严格的顺序要求,即每个客户的事件都应该按顺序进行。 根据SNS、SQS文档,我们在SNS中选择了FIFO主题,在SQS中选择了FIFO队列,这保证了严格的顺序。我还看到他们是 SNS 的重试机制,以防 SQS 失败(服务器/网络问题)

我的问题是,在SNS的强力重试(23天超过10万次)的情况下,SQS这边会保持严格的顺序吗? 即,在传递任何新消息之前,是否会先传递失败的消息?还是会并行发货?

我尝试使用localstack复制SNS重试机制,但无济于事,因为他们对SQS和SNS只有3个启动支持(CRUD操作支持),不确定他们是否有相同的重试实现

我尝试在 aws 中更改 SQS 策略,但我的重试仅在服务器错误时触发。

所以我无法测试它。

amazon-web-services amazon-sqs amazon-sns localstack aws-sqs-fifo
1个回答
0
投票

SNS FIFO 为每个消息组向 SQS FIFO 队列的传送提供严格的排序。不在同一组中的消息并行传送,而组内的消息则遵循传送时的消息顺序。

如果重试,SNS FIFO 将尝试重试组中的同一消息,直到成功为止,然后再移至组中的下一条消息。如果所有消息都在同一组中,则必须在移至下一条消息之前传递第一条消息,以遵守消息顺序。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.