近年のクラウドアーキテクチャでは、アプリケーションは、開発、デプロイ、管理がより簡単に行える、独立した小さな構成要素に分解されています。メッセージキューは、この分散アプリケーションに対して通信や調整を行います。

メッセージキューは、分解したアプリケーションのコーディングを大幅に簡素化すると同時に、パフォーマンスや信頼性、拡張性を高めることができます。メッセージキューは、ファンアウト設計パターンで Pub/Sub メッセージングと組み合わせることもできます。 

メッセージキューとは何ですか?

Amazon Simple Queue Service (SQS) は、わずか 3 つのシンプルなコマンドで開始できます。

Amazon SQS を無料で試す

AWS 無料利用枠には、Amazon Simple Queue Service (SQS) でのリクエスト 100 万件が含まれます。

AWS 無料利用枠の詳細はこちら »


メッセージキューは非同期通信を有効にします。つまり、メッセージの作成や消費を行うエンドポイントは、各エンドポイント同士ではなく、キューとやり取りします。プロデューサーは、処理を待たずにリクエストをキューに追加できます。コンシューマーは、メッセージが使用可能な場合にのみメッセージを処理します。システム内のコンポーネントが別のコンポーネントを待って停止することはなく、データフローが最適化されます。


キューはデータを永続化し、システムのさまざまな部分がオフラインになったときに発生するエラーを減らします。メッセージキューでさまざまなコンポーネントを切り離すことにより、耐障害性をより向上させることができます。システムの一部にアクセスできなくなっても、他の部分は引き続きキューを操作できます。キュー自体をミラーリングして可用性をさらに高めることもできます。


メッセージキューを使用すると、必要に応じて正確にスケーリングできます。ワークロードがピークに達すると、アプリケーションの複数のインスタンスが衝突のリスクなしにリクエストをキューに追加できます。これらの受信リクエストでキューが長くなるにつれて、ワークロードをコンシューマーのフリートに分散できます。プロデューサー、コンシューマー、そしてキュー自体は、すべてオンデマンドで拡大または縮小できます。


メッセージキューは、コンポーネント間の依存関係を排除して分解したアプリケーションのコーディングを大幅に簡略化します。ソフトウェアコンポーネントが通信コードで重くなることはなく、個別のビジネス機能を実行するように設定できます。

メッセージキューは、モノリシックなアプリケーション、マイクロサービス、あるいはサーバーレスアーキテクチャを使用しているすべての方にとって、分散システムを切り離すとても簡単な方法です。

メッセージキューを使用して、モノリシックなアプリケーションを切り離します。1 つの実行ファイル内で複数の機能を実行するのではなく、複数のプログラムがプロセス間でメッセージを送信することで情報を交換できるため、テスト、デバッグ、進化、スケールが容易になります。

イベントと非同期メッセージングに基づくマイクロサービス統合パターンは、スケーラビリティと耐障害性を最適化します。メッセージキューサービスを使用して複数のマイクロサービスを調整したり、マイクロサービスにデータ変更を通知したりできます。または、イベント消火ホースとして IoT データ、ソーシャルデータ、リアルタイムデータを処理することも可能です。

サーバーなしでマイクロサービスを構築したり、サーバーにデプロイしたり、任意の種類のソフトウェアをインストールしたりしたら、メッセージキューを使用して、信頼性が高くスケーラブルなサーバーレス通知、プロセス間通信を行え、サーバーレス機能と PaaS の可視性がもたらされます。

わずか 3 つのシンプルなコマンドで、無料でお試しいただけます。