image

Open-source message brokers

Notable free open-source message brokers to deploy on premises and in the cloud

A message broker ensures communication between different microservices is reliable and stable, that the messages are managed and monitored within the system and that messages don’t get lost.

When choosing a broker for executing your asynchronous operations, you should consider a few things:

  • Broker scale — The number of messages sent per second in the system.
  • Data persistency — The ability to recover messages.
  • Consumer capability — Whether the broker is capable of managing one-to-one and/or one-to-many consumers.

RabbitMQ

image

www.rabbitmq.com

RabbitMQ is the most widely deployed open source message broker, written in Erlang, lightweight, easy to deploy, lots of features, and decent performance.

Kafka

image

kafka.apache.org

Kafka is written in Java, under the Apache project umbrella, powerful event streaming platform, suitable for real-time processing, and excellent for big data projects.

ActiveMQ

image

activemq.apache.org

ActiveMQ is an open source, multi-protocol, Java-based messaging server. It supports industry standard protocols so users get the benefits of client choices across a broad range of languages and platforms.

Redis

image

redis.io

Redis is a bit different from the other message brokers. At its core, Redis is an in-memory data store that can be used as a high-performance key-value store. Since Redis 5.0 introduced the Pub-Sub you can use as a message broker.