Amazon SQS、Amazon MQとAmazon SNSの違い - Amazon Simple Queue Service

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

Amazon SQS、Amazon MQとAmazon SNSの違い

Amazon SQS、Amazon SNSAmazon MQ は、拡張性が高く使いやすいマネージド型メッセージングサービスです。これらのサービスの違いの概要を以下に示します。

Amazon SQS は、分散されたソフトウェアシステムとコンポーネントを統合および疎結合化できる、ホストされたキューを提供します。また、AWS SDK でサポートされている任意のプログラミング言語を使用してアクセスできる汎用ウェブサービス API を提供しています。キュー内のメッセージは通常、1 人のサブスクライバーによって処理されます。Amazon SQS と Amazon SNS は、しばしば一緒に使用されてファンアウトメッセージングアプリケーションを作成します。

Amazon SNS は、パブリッシャー (またはプロデューサー) から複数のサブスクライバーエンドポイント (またはコンシューマー) へのメッセージ配信を提供するパブリッシュ/サブスクライブサービスです。パブリッシャーは、論理アクセスポイントおよび通信チャネルであるトピックにメッセージを送信することで、受信者と非同期的に通信します。サブスクライバーは、Amazon Data FirehoseAmazon SQSLambda、HTTP、E メール、モバイルプッシュ通知、モバイルテキストメッセージ (SMS) などのサポートされたエンドポイントを使用して SNS トピックにサブスクライブし発行されたメッセージを受信できます。Amazon SNS はメッセージルーターとして機能し、サブスクライバーにリアルタイムでメッセージを配信します。メッセージの発行時にサブスクライバーが不在の場合、メッセージは後で取得できるように保存されません。

Amazon MQ は、アドバンストメッセージキューイングプロトコル (AMQP) やメッセージキューイングテレメトリトランスポート (MQTT) などの業界標準のメッセージングプロトコルとの互換性を備えたマネージド型メッセージブローカーサービスです。現在、Amazon MQ は Apache ActiveMQ および RabbitMQ のエンジンタイプをサポートしています。

次の表は、各サービスのリソースタイプの概要を示しています。

リソースタイプ Amazon SNS Amazon SQS Amazon MQ
同期的 いいえ いいえ はい
非同期的 はい はい はい
キュー いいえ はい はい
パブリッシャー/サブスクライバーメッセージング はい いいえ はい
メッセージブローカー いいえ いいえ はい

新規のアプリケーションには、Amazon SQS および Amazon SNS をお勧めします。ほぼ無制限のスケーラビリティとシンプルな API が利点です。JMS などの APIs や、Advanced Message Queuing Protocol (AMQP)、MQTT、Simple Text Oriented Message Protocol (STOMP) などのプロトコルとの互換性に依存する既存のメッセージブローカーからアプリケーションを移行するには OpenWire、Amazon MQ をお勧めします。