Apache ActiveMQ® is a popular and powerful Open Source messaging and integration patterns server. It supports various messaging protocols, such as MQTT, STOMP, and AMQP 1.0. In addition, a Java high-performance API is also available.
ActiveMQ works together with popular J2EE servers, such as TomEE, Geronimo, JBoss, GlassFish, and WebLogic.
Apache Kafka® is a distributed streaming platform. As a streaming platform, Kafka offers the option of distributing, publishing and storing data streams and, similar to a messaging queue or a messaging system, making data streams available to subscribers.
At the same time, Kafka provides the option of transforming these data streams via corresponding interfaces. Kafka is operated as a cluster on one or more servers, which can extend across several data centers. The Kafka cluster stores records in categories, which are referred to as topics.
Storage is distributed across the cluster; data replication is possible. Kafka is written in Java and harmonizes with various big data technologies, for example.
RabbitMQ is one of the most popular Open Source message brokers. It is easy to install and is directly supported by most Linux distributions.
RabbitMQ supports several messaging protocols, including AMQP 0.9 and 1.0, STOMP, and MQTT. RabbitMQ can be used in distributed and federal configurations in order to satisfy strict high-availability requirements.
Erlang/OTP-based RabbitMQ runs on numerous operating systems and cloud environments, and provides a wide range of developer tools for most popular languages.
You can find our cheat sheet for RabbitMQ on our download page.