BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Pub/SubメッセージングのAmazon SNS がFIFOをサポート

Pub/SubメッセージングのAmazon SNS がFIFOをサポート

原文(投稿日:2020/11/01)へのリンク

AWSは先頃、メッセージの厳密な順序付けと重複排除を使用して、Amazon SNSで先入れ先出し (FIFO) トピックのサポートを導入した。この新機能は、メッセージが送受信される順序を強制し、メッセージが複数回処理されることを回避する。

10年前に導入されたAmazon SNSは、さまざまなデバイスやプラットフォームにメッセージを送信できる通知サービスだが、最近まで、複数のFIFOキューへのメッセージのファンアウトを必要とするユースケースをサポートできなかった。

AWSのプリンシパルソリューションアーキテクトであるChristian Mueller氏は、FIFOトピックの利点と、それらを使用してイベント駆動型アーキテクチャを構築する方法についての記事を書いた:

開発者は、分散アプリケーションを疎にするために、イベント駆動型アーキテクチャの採用がますます増えています。多くの場合、これらのイベントは、サブスクライブされたすべてのアプリケーションに厳密に順序付けられた方法で伝播する必要があります (...) Amazon SNS FIFOの前に、アーキテクトは、処理前にメッセージが順不同で受信されるかどうかを確認するアプリケーションを設計し (...) べき等なレシーバを設計する必要がありました。イベントをべき等にすることができない場合、レシーバがべき等になるよう実装する必要があります。

GitHubに例として利用できる実装がある。SNSは、pub/subメッセージングサービスとして、2016年以降FIFOキューをサポートする分散メッセージキューサービスであるAmazon Simple Queue Service (SQS) と組み合わせて使用されることがよくある。

出典: https://aws.amazon.com/blogs/aws/introducing-amazon-sns-fifo-first-in-first-out-pub-sub-messaging

AWSのチーフエバンジェリストEMEAであるDanilo Poccia氏が、新機能によってアーキテクチャを簡素化できるいくつかのユースケースについて説明する:

FIFOトピックとキューを一緒に使用して、操作とイベントの順序が重要な場合、または重複を許容できない場合に、アプリケーションの実装を簡素化できます。たとえば、財務業務や在庫の更新を処理したり、クライアントデバイスから受け取ったコマンドを非同期に適用したりします。FIFOキューは、FIFOトピックでメッセージフィルタリングを使用して、トピックに公開されたすべてのメッセージではなく、メッセージのサブセットのみを選択的に受信できます。

AWSのドキュメントでは、Amazon SNS FIFOトピックとAmazon SQS FIFOキューを使用するメーカーが構築するeコマースプラットフォームなど、さまざまなユースケースについても説明している。

通知でFIFOをサポートしているクラウドプロバイダはAWSが唯一ではない。Azureは従来のエンタープライズアプリケーション用のメッセージングシステムであるService Busを提供し、最近のGoogle Cloud Pub/Subは順序をサポートしていると、VMwareのアプリケーションプラットフォームアーキテクトであるMichael Gasch氏が指摘した:

いいね ! GoogleがCloud Pub/SubのFIFOサポートを一般提供 (GA-ed) した直後に、AWSがSNSにそれを追加します。

標準とFIFOの両方のAmazon SNSトピックは、同じ耐久性で複数のサブスクリプションへのメッセージのファンアウトをサポートしているが、新しいFIFOトピックは、標準のものと比較して価格と制限が高くなっている。標準トピックは1秒あたりほぼ無制限の数のメッセージをサポートするが、FIFOトピックは1秒あたり300トランザクションに制限されている。各FIFOトピックは最大100のサブスクリプションをサポートするが、標準のトピックは最大1250万のサブスクリプションを処理できる。Amazon SNS FIFOは、ほぼすべてのAWSリージョンで利用できる。

この記事に星をつける

おすすめ度
スタイル

BT