选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

FIFO 主题的 Amazon SNS 消息分组

聚焦模式
FIFO 主题的 Amazon SNS 消息分组 - Amazon Simple Notification Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

属于同一组的消息按相对于组的严格顺序逐个处理。

向 Amazon SNS FIFO 主题发布消息时,需设置消息组 ID。组 ID 是指定消息属于特定消息组的强制令牌。SNS FIFO 主题将组 ID 传递给订阅的 Amazon SQS FIFO 队列。SNS FIFO 主题或 SQS FIFO 队列 IDs 中的群组数量没有限制。消息组 ID 不会传递给 Amazon SQS 标准队列。

消息组和订阅之间没有关联性。因此,发布到任何消息组的消息都会传输到所有已订阅队列,但须遵守附加到订阅的任何筛选策略。有关更多信息,请参阅 FIFO 主题的 Amazon SNS 消息传输FIFO 主题的 Amazon SNS 消息筛选

汽车零部件价格管理示例使用案例中,平台中销售的每个产品都有一个专用的消息组。用同一个 Amazon SNS FIFO 主题处理所有价格更新。价格更新的顺序保留在单个汽车零部件产品的上下文中,但不是跨多个产品。下图演示了工作原理。请注意,对于消息组 ID 为 produ ct-214 的产品,消息 m1 在 m 4 之前处理。此顺序将在整个工作流程中保留,这些工作流程使用 Amazon SNS FIFO 和 Amazon SQS FIFO。同样,对于消息组 ID 为 produ ct-799 的产品,消息 m2 在 m3 之前处理。但是,使用 Amazon SQS 标准队列时,将无法保证消息顺序,也不存在消息组。product-214product-799 消息组彼此独立,因此它们的消息排序方式之间没有任何关系。

消息排序和重复数据删除在涉及 AWS 服务 不同和消息组的 Amazon SNS FIFO 主题场景中如何工作的示例。 IDs它显示了从 Lambda 函数通过 Amazon SNS FIFO 主题流向各种类型的 Amazon SQS 队列(FIFO 和标准)的消息流,在 FIFO 队列中保持严格的顺序,同时演示了标准队列中的潜在混乱。此设置用于强调消息排序在诸如电子商务平台价格更新之类的应用程序中的重要性,突出显示每个消息组如何在不同的消费者服务中独立维持其顺序。

按消息组分发数据 IDs 以提高性能

为了优化传输吞吐量,Amazon SNS FIFO 主题并行传送来自不同消息组的消息,同时严格维护每个消息组内的消息顺序。每个消息组每秒最多可以传送 300 条消息。因此,要实现单个主题的高吞吐量,请使用大量不同的消息组 IDs。通过利用一组不同的消息组,Amazon SNS FIFO 主题可自动在更多并行分区中分发消息。

注意

Amazon SNS FIFO 主题经过优化,可以跨消息组均匀分发消息 IDs,无论组的数量如何。 AWS 建议您使用大量不同的消息组 IDs 以优化性能。

当以高吞吐量发布到您的 Amazon SNS FIFO 主题并且订阅了一个或多个 Amazon SQS FIFO 队列时,建议您在队列上启用高吞吐量。有关更多信息,请参阅《Amazon Simple Queue Service 开发人员指南》中的 FIFO 队列的高吞吐量

本页内容

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。