RabbitMQとは

RabbitMQとは
-> pivotalによって開発されているオープンソースメッセージブローカー
-> AMQP, STOMP, MQTT, HTTPに対応

AMAPとは?
– メッセージ転送に使われる通信プロトコル

Exchange
– Exchange は、生成されたMessageを受け取る役割
Binding
– ExchangeとMessageQueueの対応付け
Message Queue
– Messageを蓄積し、Consumer Applicationnに引き渡す

Publisher Applicationによって生成されたMessageは、Exchangeに渡される
ExchangeはBindingに基づいて、Messageを適切なMessage Queueに引き渡す
Consumer Applicationによって、Message QueueからMessageが取り出される

Direct
– Direct な Exchange は、Messageに付与されているrouting keyと、bindingに設定されているbinding key を見て、routing key = binding key となるような、Message Queue に Message を配送
Fanout
– Fanout なExchangeは、bindされているMessage Queueすべてに受け取ったメッセージの配送
Topic
– メッセージにrouting keyを指定して、そのkeyを元に配送するMessage Queueを選択

RabbitMQは、オープンソースでErlangで記述

公式サイト: https://www.rabbitmq.com/

ちょっと理解するのに時間がかかりそう