A Mutable Log

Comparison of MQTT Brokers

A comparison with additional brokers is available at https://github.com/mqtt/mqtt.github.io/wiki/server-support.

Feature ActiveMQ ActiveMQ Artemis HiveMQ JoramMQ Mosquitto RabbitMQ VerneMQ
Open source Apache 2.0 Apache 2.0 Commercial LGPL, Commercial EPL/EDL MPL 1.1 Apache 2.0
Commercial support YES YES HiveMQ ScalAgent TIBCO Pivotal Octavo Labs AG
Docker container rmohr/activemq vromero/activemq-artemis hivemq/hivemq3 NO eclipse-mosquitto rabbitmq:3 erlio/docker-vernemq
Windows support YES YES YES YES YES YES NO
MQTT version 3.1 3.x 3.x, 5.0 3.x 3.1.1, 5.0 3.1.1 3.x, 5.0
AMQP version 1.0 1.0 NA 0.9.1, 1.0 NA 0.8, 0.9.x, 1.0 NA
AMQP interoperability NO NO NA NO NA Partial (see note 1) NA
MQTT over WebSocket YES YES YES YES YES YES YES
Retain flag YES YES YES YES YES Partial (see note 2) YES
Last will and testament YES YES YES YES YES YES YES
Persistent Session YES YES YES YES YES YES YES
QoS Level 1 YES YES YES YES YES YES YES
QoS Level 2 YES YES YES YES YES NO YES
Shared subscriptions NO NO YES NO NO NO YES
Bridging NO NO YES YES YES NO YES
Listener topic isolation         YES   YES
Clustering YES YES YES YES NO YES YES
REST Management API YES YES YES YES NO YES YES
Management CLI YES YES YES YES NO YES YES
Latest version 5.15 (see note 3) 2.7.0 (see note 3) 4 5.16 1.6.2 3.7.13 1.7.1
GitHub likes 1.4K 0.5K NA NA 2.4K 5.4K 1.7K

Notes

  1. See MQTT and AMQP 1.0 interoperability in RabbitMQ.
  2. A retained message sent to a topic is not received when a client later subscribes to the topic with wildcards.
  3. ActiveMQ version 6 will be based on Artemis which is based on JBoss Hornett and currently distributed as a separate product.