

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

# Amazon SNS の高スループット FIFO トピック
<a name="fifo-high-throughput"></a>

Amazon SNS の高スループット FIFO トピックは、厳密なメッセージ順序を維持しながら、高いメッセージスループットを効率的に管理することで、多数のメッセージを処理するアプリケーションの信頼性とスケーラビリティを確保します。このソリューションは、高スループットおよび順序付けられたメッセージ配信の両方を必要とするシナリオに最適です。高スループット FIFO トピックを使用してメッセージのスループットを向上させるには、メッセージグループの数を増やすことを推奨します。高スループットのメッセージクォータの詳細については、「*Amazon Web Services 全般のリファレンス*」の「[Amazon SNS Service Quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html)」を参照してください。

## Amazon SNS FIFO トピックに関する高スループットのユースケース
<a name="fifo-topic-use-cases"></a>

以下のユースケースでは、高スループット FIFO トピックの多様な応用例を紹介し、さまざまな業界やシナリオでの効果を示します。
+ **リアルタイムデータ処理:** イベント処理やテレメトリデータインジェストなど、リアルタイムデータストリームを扱うアプリケーションは、高スループット FIFO トピックを利用することで、メッセージの継続的な流入を処理しながら、メッセージの順序を維持して正確な分析を行うことができます。
+ **e コマース注文処理:** 顧客取引の順序を維持することが重要な e コマースプラットフォームでは、高スループット FIFO トピックを利用することで、ショッピングのピークシーズンでも注文を遅滞なく順番に配信できます。
+ **金融サービス:** 高頻度の取引データやトランザクションデータを処理する金融機関は、高スループット FIFO トピックを利用することで、メッセージの順序付けに関する厳格な規制要件を遵守しながら、レイテンシーを最小限に抑えて市場データやトランザクションを処理できます。
+ **メディアストリーミング:** ストリーミングプラットフォームやメディア配信サービスは、高スループット FIFO トピックを利用することで、メディアファイルとストリーミングコンテンツの配信を管理し、コンテンツ配信の正しい順序を維持しながら、ユーザーにスムーズな再生エクスペリエンスを提供できます。

## Amazon SNS FIFO トピックの高スループットを実現するパーティションとデータ分散
<a name="fifo-topic-partitians-and-data-distribution"></a>

高スループットのトピックでは、Amazon SNS は、FIFO トピックデータを複数のパーティションに分散します。パーティションとはトピックの容量の割り当であり、 AWS リージョン内の複数のアベイラビリティーゾーンにわたって、自動的にレプリケートされます。パーティションは管理しません。代わりに、Amazon SNS はユーザーに代わって、イングレスレートに基づいてパーティションを自動的に管理します。

FIFO トピックでは、Amazon SNS は次の状況でトピック内のパーティションの数を変更します。
+ 現在の発行レートが、既存のパーティションがサポートできる値に近づいたり超えたりすると、トピックがリージョンのクォータに達するまで追加のパーティションが割り当てられます。クォータの詳細については、「*Amazon Web Services 全般のリファレンス*」の「[Amazon SNS Service Quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html)」を参照してください。
+ 現在のパーティションの使用率が低い場合は、パーティションの数が減ることがあります。

パーティション管理は自動的にバックグラウンドで自動的に発生し、アプリケーションに対して透過的です。トピックとメッセージは常に利用可能です。

**注記**  
通常の数倍あるボリュームを送信しているときに、トピックへのトラフィックを急激かつ大幅に増加させると、一時的な [Publish](https://docs.aws.amazon.com/sns/latest/api/API_Publish.html) API スロットリングが発生する可能性があります。このスロットリングは、トピックがトラフィックの増加に合わせてスケールアップしている間、最長で重複排除ウィンドウの期間まで続く可能性があります。

## メッセージグループ ID によるデータの配布
<a name="fifo-topic-message-group-ids"></a>

FIFO トピックにメッセージを発行すると、Amazon SNS は各メッセージのメッセージグループ ID の値を内部ハッシュ関数への入力値として使用します。ハッシュ関数からの出力値は、メッセージを処理するパーティションを決定します。その際、1 つ以上のメッセージグループ ID が、特定のパーティションで処理される場合があります。

**注記**  
Amazon SNS は、パーティションの数に関係なく、FIFO トピックのパーティション間で項目を均一に分散するように最適化されています。 では、多数の個別の値を持つメッセージグループ IDs を使用する AWS ことをお勧めします。

## Amazon SNS FIFO トピックでの高スループットを有効にする
<a name="enable-high-throughput-on-fifo-topic"></a>

デフォルトでは、Amazon SNS FIFO トピックはトピックレベルの重複排除用に設定されています。これは、`Topic` に設定されたトピック属性 [https://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html](https://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html) によって制御されており、スループットクォータはより厳しく制限されています。詳細については「*Amazon Web Services 全般のリファレンス*」の「[Amazon SNS Service Quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html)」を参照してください。

Amazon SNS FIFO トピックの高スループットを有効にするには、`FifoThroughputScope` 属性を `MessageGroup` に更新します。この変更は、コンソールまたは AWS CLI と SDK を使用して実行でき、トピックの作成時に設定することもできます。Amazon SNS では、最高のカスタマーエクスペリエンスを実現し、トピックがスロットリングされる可能性を減らすためにこれを推奨しています。

**重要**  
トピックの `FifoThroughputScope` を `MessageGroup` に設定して有効にすると `Topic` スループットに戻すことはできません。

## サブスクライブしている Amazon SQS FIFO キューの高スループットモードを有効にする
<a name="enable-high-throughput-for-sqs-fifo-queue"></a>

高スループットが有効になっている Amazon SNS FIFO トピックにメッセージを発行しており、1 つ以上の Amazon SQS FIFO キューがサブスクライブされている場合は、Amazon SQS FIFO キューでも高スループットを有効にすることが推奨されます。これにより、Amazon SNS FIFO 高スループットトピックがスムーズにメッセージを配信することが可能になります。詳細については、「*Amazon Simple Queue Service デベロッパーガイド*」の「[FIFO キューの高スループット](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html)」を参照してください。