Amazon SQS キューへのファンアウト - Amazon Simple Notification Service

Amazon SQS キューへのファンアウト

Amazon SNS は、Amazon Simple Queue Service (Amazon SQS) と密接に連携します。これらのサービスは、デベロッパーにとって異なる利点を提供します。Amazon SNS を使用すると、アプリケーションは「プッシュ」メカニズムを使用して、複数の受信者にタイムクリティカルなメッセージを送信することができます。そのため、更新を定期的に確認または「ポーリング」する必要がありません。Amazon SQS は、ポーリングモデルを通してメッセージを交換するために分散型アプリケーションによって使用されるメッセージキューサービスであり、このサービスを使用すると、送信および受信コンポーネントを切り離すことができます。この場合、各コンポーネントが同時に使用できなくなることはありません。Amazon SNS と Amazon SQS を組み合わせて使用することで、イベントの即時通知を必要とするアプリケーションにメッセージを配信できるだけでなく、他のアプリケーションのメッセージは、後で処理できるように Amazon SQS キューに保持することもできます。

Amazon SNS トピックへの Amazon SQS キューをサブスクライブすると、そのトピックにメッセージを発行することができ、Amazon SNS は Amazon SQS メッセージをサブスクライブされたキューに送信します。Amazon SQS メッセージには、トピックに発行された件名とメッセージに加え、JSON ドキュメントのメッセージに関するメタデータが含まれます。Amazon SQS メッセージは、以下の JSON ドキュメントのようになります。

{ "Type" : "Notification", "MessageId" : "63a3f6b6-d533-4a47-aef9-fcf5cf758c76", "TopicArn" : "arn:aws:sns:us-west-2:123456789012:MyTopic", "Subject" : "Testing publish to subscribed queues", "Message" : "Hello world!", "Timestamp" : "2012-03-29T05:12:16.901Z", "SignatureVersion" : "1", "Signature" : "EXAMPLEnTrFPa3...", "SigningCertURL" : "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem", "UnsubscribeURL" : "https://sns.us-west-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-west-2:123456789012:MyTopic:c7fe3a54-ab0e-4ec2-88e0-db410a0f2bee" }