Basics Features
Enables Asynchronous Programming
allows to put a message in a queue without processing it immediately
Ideal for long running tasks or blocking tasks, allowing web servers to respond quickly to requests instead of being forced to perform computationally intensive tasks on the spot.
RabbitMQ simply stores messages and passes them to consumers when ready.
Why RabbitMQ?
Reliable and Open Source
since 2007
strong community and highly active core team that produce additional features, improvements and handy plugins.
supports several standardized protocols ****such as AMQP 0-9-1, AMQP 1-0, MQTT, STOMP, STOMP over WebSockets, MQTT over WebSockets.
used by a large number of companies within various industries and is used and trusted by large companies (Zalando, WeWork, Wunderlist, Bloomberg, and more). All relying on a microservice based architecture.
user friendly
it is easy to tweak the configurations to suit the intended purpose.
RabbitMQ is written in Erlang and is the world’s most deployed open-source message broker, meaning that it’s a well-tested, robust broker.
The RabbitMQ broker is scalable and flexible
Your team only needs to maintain the producers and the consumers sending and receiveing messages to/from the queue. Under heavy load, if the queue grows larger, the standard reaction is to add more consumers and parallelize the work. This is a simple and effective method of scaling.
You can also allow the broker to scale (add more resources through CPU/disk/memory), to be able to handle more messages in the queue. But remember that RabbitMQ works fastest with short queues.