本文へスキップ

AMQPとは?

えーえむきゅーぴー

AMQPとは、アプリケーション間でメッセージを確実にやり取りするための標準プロトコルで、メッセージキューイングに使われます。

AMQP(Advanced Message Queuing Protocol)は、異なるシステムアプリケーション間でメッセージ信頼性高く非同期に送受信するためのオープンな通信プロコルです。金融機関のシステム間連携を起源として開発され、ベンダーに依存しない標準仕様として広く普及しました。

AMQPの主要な概念には以下があります。

  • ブローカー(Broker):メッセージを受け取り、ルーティングして配信するサーバーソフトウェアです。
  • エクスチェンジ(Exchange):送信されたメッセージを受け取り、ルーティングルールに基づいてキューに振り分ける役割を担います。
  • キュー(Queue):メッセージを一時的に蓄積し、コンシューマーが取り出すまで保持します。
  • バインディング(Binding):エクスチェンジとキューを結びつけるルールです。

AMQPを実装した代表的なソフトウェアにRabbitMQがあります。プロデューサー(送信側)がブローカーにメッセージを送ると、エクスチェンジがルールに従ってキューに分配し、コンシューマー(受信側)がキューからメッセージを取り出して処理します。メッセージの確認応答(ACK)機構により、処理が完了するまでメッセージが失われないことが保証されます。

マイクロサービスアーキテクチャやイベント駆動型システムにおいて、サービス間の疎結合な連携を実現するための重要な技術です。

使い方・例文

ECサイトで注文が入った際に「注文確定→在庫引き当て→発送指示」という一連の処理を非同期で連携させるシステムの設計で、AMQPを使ったメッセージキューが登場します。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語