1. ホーム
  2. amazon-web-services

[解決済み] Amazon SNSとAmazon SQSの違いは何ですか?

2022-03-15 04:07:48

質問

SNS と SQS はどのような場合に使用するのですか?また、なぜ常に一緒に結合されているのですか?

どのように解決するのですか?

SNS は、分散型 パブリッシュ・サブスクライブ システムです。メッセージは プッシュ は、パブリッシャーから SNS に送信されると同時に、購読者に送信されます。

SQS が配布されています。 キューイング システムで使用されます。メッセージは ではない を受信者にプッシュする。レシーバーは ポーリングまたはプル からのメッセージ SQS . メッセージは複数のレシーバーが同時に受信することはできません。誰か一人の受信者がメッセージを受信し、処理し、削除することができます。他のレシーバーが同じメッセージを後で受信することはありません。SQSのポーリングは、メッセージが即座に購読者にプッシュされるSNSとは異なり、本質的にメッセージ配信に多少の遅延が発生します。SNSは、電子メール、SMS、HTTPエンドポイント、SQSなど、いくつかのエンドポイントをサポートしています。SNSは、電子メール、SMS、HTTPエンドポイント、SQSなど、複数のエンドポイントに対応しており、メッセージを受信する購読者の数や種類が不明な場合は、SNSが必要です。

SNSとSQSは常に連動している必要はありません。SQSとは別に、SNSからメール、SMS、HTTPエンドポイントにメッセージを送信させることができます。SNSとSQSを組み合わせることには利点があります。外部サービスからホストに接続されたくない場合(ファイアウォールが外部からのホストへの接続をすべてブロックする場合がある)。

メッセージの量が多くてエンドポイントが死んでしまうかもしれない。電子メールやSMSは、メッセージを素早く処理するための選択肢ではないかもしれません。SNSとSQSを組み合わせることで、あなたのペースでメッセージを受信することができます。ネットワークやホストの障害に強く、クライアントをオフラインにすることができます。また、配信保証も実現できます。SNSがHTTPエンドポイントやメール、SMSにメッセージを送信するように設定した場合、メッセージ送信に何度か失敗すると、メッセージがドロップされる可能性があります。

SQSは、主にアプリケーションの切り離しやアプリケーションの統合に使用されます。メッセージは短期間(最大14日間)SQSに保存することができます。SNSは、メッセージの複数のコピーを複数の購読者に配布します。例えば、あるアプリケーションで生成されたデータを複数のストレージシステムに複製したいとします。SNS を使用して、このデータを複数の購読者に送信し、それぞれが受け取ったメッセージを異なるストレージシステムに複製することができます ( S3 ホスト上のハードディスク、データベースなど)。