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 is the most widely deployed open source message broker, written in Erlang, lightweight, easy to deploy, lots of features, and decent performance.
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 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 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.