官网:https://docs.aws.amazon.com/zh_cn/sns/latest/dg/fifo-message-grouping.html
当往SNS 通过FIFO方式发送消息时,是需要指定messageGroupId的,那么这个messageGroupId是有什么用呢?
属于同一组的消息按相对于组的严格顺序逐个处理。
向 Amazon SNS FIFO 主题发布消息时,需设置消息组 ID。组 ID 是指定消息属于特定消息组的强制令牌。SNS FIFO 主题将组 ID 传递给订阅的 Amazon SQS FIFO 队列。SNS FIFO 主题或 SQS FIFO 队列中的组 ID 数量没有限制。
消息组和订阅之间没有关联性。因此,发布到任何消息组的消息都会传输到所有已订阅队列,但须遵守附加到订阅的任何筛选策略。有关更多信息,请参阅 FIFO 主题的消息传输 和 FIFO 主题的消息筛选。
在汽车零部件价格管理示例使用案例中,平台中销售的每个产品都有一个专用的消息组。用同一个 SNS FIFO 主题处理所有价格更新。价格更新的顺序保留在单个汽车零部件产品的上下文中,但不是跨多个产品。下图演示了工作原理。请注意,对于具有 product-214 消息组 ID 的产品,m1 消息始终在 m4 消息之前处理。此顺序将在整个工作流程中保留,从 Amazon SNS 到 Amazon SQS 再到 AWS Lambda。请注意,对于具有 product-799 消息组 ID 的产品,m2 消息始终在 m3 消息之前处理。product-214 和 product-799 消息组彼此独立,因此它们的消息排序方式之间没有任何关系。
来自ChatGPT的回答
其实SQS也是分布式的