FIFO トピックの Amazon SNS メッセージグループ化 - Amazon Simple Notification Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

FIFO トピックの Amazon SNS メッセージグループ化

同じグループに属するメッセージは、グループに対する厳密な順序で 1 つずつ処理されます。

Amazon SNSFIFOトピックにメッセージを発行するときは、メッセージグループ ID を設定します。グループ ID は、メッセージが特定のメッセージグループに属することを指定する必須トークンです。SNS FIFO トピックは、サブスクライブされた Amazon SQSFIFOキューにグループ ID を渡します。IDs SNS FIFO トピックまたはSQSFIFOキューのグループ数に制限はありません。メッセージグループ ID は Amazon SQS標準キューに渡されません。

メッセージグループとサブスクリプションの間にアフィニティはありません。したがって、任意のメッセージグループに発行されたメッセージは、サブスクリプションに添付されたフィルターポリシーに従って、すべてのサブスクライブ済みキューに配信されます。詳細については、「FIFO トピックの Amazon SNS メッセージ配信」および「FIFO トピックの Amazon SNS メッセージフィルタリング」を参照してください。

自動車部品価格管理のユースケース例では、プラットフォームで販売されている製品ごとに専用のメッセージグループがあります。同じ Amazon SNSFIFOトピックがすべての料金更新の処理に使用されます。価格更新の順序は、単一の自動車部品製品のコンテキスト内で保持されますが、ない複数の製品にまたがっていません。この 仕組み を以下に示します。メッセージグループ ID が product-214 の製品の場合、メッセージ m1 はメッセージ m4 の前に処理されていることに注意してください。このシーケンスは、Amazon SNSFIFOから Amazon SQS を使用するワークフロー全体で保持されますFIFO。同様に、メッセージグループ ID が product-799 の製品の場合、ワークフローが Amazon SNSFIFOと Amazon を使用している限り、メッセージ m2 はメッセージ m3 SQS の前に処理されますFIFO。ただし、Amazon SQS標準キューを使用する場合、メッセージの順序は保証されなくなり、メッセージグループは存在しません。product-214 および product-799 メッセージグループは互いに独立しているため、メッセージの順序付けには関係がありません。

さまざまな およびメッセージグループ を含む Amazon SNSFIFOトピックシナリオでのメッセージの順序 AWS のサービス 付けと重複排除の仕組みの例IDs。これは、Amazon SNSFIFOトピックを介して Lambda 関数からさまざまなタイプの Amazon SQSキュー (FIFO および 標準) へのメッセージのフローを示し、キューの厳密な順序を維持しながら、標準FIFOキューの潜在的な障害を示します。この設定は、e コマースプラットフォームの料金更新などのアプリケーションでのメッセージシーケンスの重要性を強調し、各メッセージグループがさまざまなコンシューマーサービス間で順序を個別に維持する方法を強調するために使用されます。

パフォーマンスを向上させるIDsためにメッセージグループごとにデータを分散する

配信スループットを最適化するために、Amazon SNSFIFOトピックは異なるメッセージグループからメッセージを並行して配信しますが、メッセージの順序は各メッセージグループ内で厳密に維持されます。個々のメッセージグループごとに、1 秒あたり最大 300 件のメッセージを配信できます。したがって、1 つのトピックで高いスループットを実現するには、多数の個別のメッセージグループ を使用しますIDs。Amazon SNSFIFOトピックは、さまざまなメッセージグループを使用することで、多数の並列パーティションにメッセージを自動的に分散します。

注記

Amazon SNSFIFOトピックは、group の数に関係なくIDs、メッセージグループ 間でメッセージを均一に分散するように最適化 AWS されています。パフォーマンスを最適化IDsするために、多数の個別のメッセージグループを使用することをお勧めします。

高スループットで Amazon SNSFIFOトピックに発行し、1 つ以上の Amazon SQSFIFOキューをサブスクライブする場合は、キューで高スループットを有効にすることをお勧めします。詳細については、「Amazon Simple FIFO Queue Service デベロッパーガイド」の「キューの高スループット」を参照してください。