RabbitMQ

RabbitMQ

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.