【えーえむきゅーぴー】
AMQP とは?
💡 システム間の確実な伝言板、メッセージを絶対に落とさない
📌 このページのポイント
- メッセージブローカーを介してプロデューサーとコンシューマー間の非同期通信を実現する
- メッセージの永続化・確認応答・ルーティングなど、信頼性の高い配信機能を標準で備える
- RabbitMQが代表的な実装で、エンタープライズシステムで広く使われている
- Exchange(交換機)とQueue(キュー)の組み合わせで柔軟なメッセージルーティングが可能
AMQPって、メールみたいにメッセージを送るってこと?
イメージは近いけど、人じゃなくてシステム同士がやりとりするためのものだよ。注文システムが『注文が入ったよ』というメッセージを出すと、在庫システムや配送システムがそれぞれ受け取って処理する、みたいな使い方だね
直接やりとりすればいいのに、なんでわざわざキューを挟むのかな?
直接だと相手が忙しいときにメッセージが失われるけど、キューに入れておけば相手が準備できたときに取り出せるんだ。郵便ポストみたいに、受取人が不在でも荷物を預かってくれる仕組みだよ
MQTTとはどう違うの?
Exchangeとかキューとか、仕組みがちょっと複雑そうだね?
Exchangeは郵便局の仕分けセンター、Queueは届け先のポストと考えるといいよ。Exchangeがルールに従ってメッセージを適切なQueueに振り分けるんだ。ダイレクト、ファンアウト、トピックなど振り分け方も選べるよ
RabbitMQ以外にもAMQPを使ってるものってあるの?
📖 おまけ:英語の意味
「Advanced Message Queuing Protocol」 = 高度メッセージキューイングプロトコル
💬 金融業界で異なるシステム間のメッセージングを標準化するために生まれたプロトコルだよ