RabbitMQ is another widely used open source message broker, employed by several companies worldwide. Written in Erlang, it was originally designed for Advanced Message Queuing Protocol (AMQP), but has been updated to support other protocols, including STOMP and MQTT.
Features
Several messaging techniques are supported, including pub-sub, point-to-point, and request-reply messaging. You can also write your own and use it as a plugin.
Both synchronous and asynchronous modes of communication are available.
Delivery acknowledgments make for a reliable service.
High availability is ensured by replicating queues across multiple nodes of a cluster, making sure messages aren’t lost even in the case of a hardware failure.
Management UI allows user friendly control and monitoring over the message broker’s functions.