メッセージキュー(めっせーじきゅー)
最終更新:2026/4/25
メッセージキューは、アプリケーション間で非同期にメッセージをやり取りするための仕組みを提供するデータ構造である。
別名・同義語 キューメッセージングシステム
ポイント
メッセージキューを用いることで、システム全体の結合度を下げ、各コンポーネントの独立性を高めることができる。また、負荷分散や信頼性向上にも貢献する。
メッセージキューとは
メッセージキューは、プロセス間通信やマイクロサービス間の通信において、メッセージを一時的に保存し、順次処理するための仕組みです。送信側(Producer)はメッセージをキューに投入し、受信側(Consumer)はキューからメッセージを取り出して処理します。この非同期的な処理により、送信側と受信側は互いに直接依存することなく、独立して動作できます。
メッセージキューの利点
- 非同期処理: 送信側はメッセージの処理完了を待つことなく、次の処理に進むことができます。
- 疎結合: アプリケーション間の依存関係を減らし、システムの柔軟性を高めます。
- 負荷分散: 受信側が一時的に処理能力を超えた場合でも、メッセージはキューに蓄積され、受信側の負荷が下がった時点で処理されます。
- 信頼性: メッセージはキューに保存されるため、受信側がダウンした場合でもメッセージが失われることはありません。
- スケーラビリティ: 受信側を複数用意することで、処理能力を向上させることができます。
メッセージキューの種類
- RabbitMQ: オープンソースのメッセージブローカーで、AMQPプロトコルをサポートしています。
- Apache Kafka: 大量のデータをリアルタイムに処理するための分散ストリーミングプラットフォームです。
- Redis: インメモリデータストアですが、Pub/Sub機能を利用してメッセージキューとしても利用できます。
- Amazon SQS: Amazon Web Servicesが提供するマネージドメッセージキューサービスです。
- Google Cloud Pub/Sub: Google Cloud Platformが提供するマネージドメッセージキューサービスです。