メッセージキューは、サーバーレスおよびマイクロサービスアーキテクチャで使われる非同期サービス対サービスの通信形態です。メッセージは、処理され、削除されるまではキューに格納されています。各メッセージは、単一のコンシューマーによって一度だけ処理されます。メッセージキューを使うことで、重い処理の分割、バッファーまたはバッチ処理、およびスパイクの多いワークロードを円滑にすることができます。
広い意味でメッセージキューの理解を深めるために役立つ資料を、いくつかご紹介いたします。AWS でのメッセージキューの詳細については、Amazon Simple Queue Service (SQS) のウェブサイトをご覧ください。
近年のクラウドアーキテクチャでは、アプリケーションは、開発、デプロイ、管理がより簡単に行える、独立した小さな構成要素に分解されています。メッセージキューは、この分散アプリケーションに対して通信や調整を行います。メッセージキューは、分解したアプリケーションのコーディングを大幅に簡素化すると同時に、パフォーマンスや信頼性、拡張性を高めることができます。
メッセージキューは、1 つのシステムのさまざまな部分で、通信やオペレーション処理を非同期で実行できるようにします。メッセージキューは、一時的にメッセージを格納する軽量バッファと、ソフトウェアコンポーネントがキューに接続するエンドポイントを提供して、メッセージを送受信できるようにします。メッセージは、通常は小規模で、リクエスト、返信、エラーメッセージ、または単純な情報などの場合があります。メッセージを送信するには、プロデューサーというコンポーネントがキューにメッセージを追加します。コンシューマーという別のコンポーネントがメッセージを受信して処理するまで、メッセージはキューに保存されます。

多くのプロデューサーおよびコンシューマーがキューを使用できますが、各メッセージは 1 つのコンシューマーによって 1 回だけ処理されます。このため、このメッセージングパターンはしばしば 1 対 1 通信、またはポイント対ポイント通信と呼ばれます。1 つのメッセージを複数のコンシューマーが処理する必要がある場合、メッセージキューと Pub/Sub メッセージングを、ファンアウト設計パターンで組み合わせることができます。詳細については、What is Pub/Sub messaging? をご覧ください。また、AWS での Pub/Sub メッセージングの概要については、Amazon Simple Notification Service (SNS) ウェブサイトをご覧ください。