A blog by Devendra Tewari
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 |