ファンアウト
==============New!===============
良いところ
安い
悪いところ
開発・運用が大変?
(他にもあるかもだけど、とりあえず思いつくことだけ書いておく)
=================================
「ファンアウト」シナリオでは、Amazon SNS メッセージがトピックに送信され、その後レプリケートされて、複数の Amazon SQS キュー、HTTP エンドポイント、E メールアドレスにプッシュされます。これで並列非同期処理が可能になります。
https://gyazo.com/67c71972e8bf95f31574277a7375f554
イベントドリブンなシステムを作れる
https://gyazo.com/3c805ad9e03efb081999babd273a7fbb
クロススタック
クロスアカウント
で出来るので、TopicをイベントのHubとして使える。
SNSのサブスクリプションフィルタポリシーを使うと、メッセージ属性によってインフラレベルでメッセージを振り分けられる。
サブスクリプションフィルタポリシーではSNSにPublishされる各メッセージのMessageAttributeの値に対して
ホワイトリスト
ブラックリスト
数値の比較
を適用して必要なメッセージだけ受け取れる
Amazon SQS エンドポイントでメッセージ属性を使用するには、サブスクリプション属性 Raw Message Delivery を True に設定する必要があります。raw メッセージ配信の詳細については、「Amazon SNS ラージペイロードと raw メッセージの配信」を参照してください。
メッセージ属性は、メッセージ構造が JSON ではなく String である場合にのみ送信されます。