server support - mqtt/mqtt.org GitHub Wiki

This page attempts to document the features that various MQTT servers (brokers) support. This is specific to their MQTT support. Many of these servers have much wider capabilities beyond just MQTT.

Capabilities

Server QoS 0 QoS 1 QoS 2 auth Bridge $SYS SSL Dynamic topics cluster websockets plugin system Mqtt 5 support Active development
Aedes โœ” โœ” โœ” Username/Password rm โœ” โœ” โœ” โœ” โœ” โœ” โœ˜ โœ”
AWS IoT Services โœ” โœ” โœ” Client certificates ? โœ˜ โœ” ยง โœ” โœ” โœ˜ โœ˜ โœ”
Apache ActiveMQ Artemis โœ” โœ” โœ” JAAS โœ˜ โœ˜ โœ” โœ” โœ” โœ” โœ” โœ˜ โœ”
BevywiseIoTPlatform โœ” โœ” โœ” Key based โœ” โœ” โœ” โœ” โœ” โœ” rm โœ˜ โœ”
ClearBlade โœ” โœ” โœ” OAuth based User/Pass & Per-channel authorization ? โœ” โœ” โœ” โœ” โœ” ? โœ˜ โœ”
ejabberd โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ”
emitter โœ” โœ˜ โœ˜ Per-channel authorization โœ˜ โœ˜ โœ” โœ” โœ” โœ” โœ˜ โœ˜ โœ”
EMQ X โœ” โœ” โœ” Username/Password, JWT, LDAP, ClientID, ... โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ”
flespi โœ” โœ” โœ” โœ” โœ˜ โœ˜ โœ” โœ” โœ” โœ” โœ˜ โœ˜ โœ”
GnatMQ / M2MQTT โœ” โœ” โœ” Username/Password โœ˜ โœ˜ โœ” โœ” โœ˜ โœ˜ โœ˜ โœ˜ โœ”
HBMQTT โœ” โœ” โœ” Username/Password, Client certificates โœ” โœ” โœ” โœ” โœ˜ โœ” โœ” โœ˜ โœ”
HiveMQ โœ” โœ” โœ” Username/Password โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ”
IBM IoT MessageSight โœ” โœ” โœ” Username/Password โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ˜ โœ”
IBM Watson IoT Platform โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ˜ โœ”
IBM WebSphere MQ Middleware โœ” โœ” โœ” Username/Password, client certificate โœ” โœ” โœ” โœ” โœ” โœ” โœ˜ โœ˜ โœ”
Jmqtt โœ” โœ” โœ” Username/Password, Client certificates โœ” โœ” โœ” โœ” โœ˜ โœ” โœ” โœ˜ โœ”
JoramMQ โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ˜ โœ˜
Mongoose โœ” โœ” โœ” โœ” โœ” โœ˜ โœ” โœ” โœ˜ โœ” โœ” โœ˜ โœ”
moquette โœ” โœ” โœ” ? โœ” โœ˜ โœ” โœ” rm โœ” โœ˜ โœ˜ โœ”
mosca โœ” โœ” โœ˜ โœ” โœ˜ โœ˜ โœ” โœ” โœ˜ โœ” โœ˜ โœ˜ โœ˜
mosquitto โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” ยง โœ” โœ” โœ” โœ”
MQTT.js โœ” โœ” โœ” ยง โœ˜ โœ˜ โœ” โœ” โœ˜ โœ” โœ˜ โœ˜ โœ”
MQTTnet โœ” โœ” โœ” ยง ยง ยง โœ” โœ” ยง ยง ยง rm โœ”
MqttWk โœ” โœ” โœ” โœ” โœ” ? โœ” โœ” โœ” โœ” โœ˜ โœ˜ โœ”
RabbitMQ โœ” โœ” โœ˜ SASL โœ˜ โœ˜ โœ” โœ” โœ” โœ” โœ” โœ˜ โœ”
Software AG Universal Messaging โœ” โœ” โœ” โœ” ยง โœ˜ โœ” โœ” ยง rm โœ˜ โœ˜ โœ”
Solace โœ” โœ” โœ˜ Basic, client certificate, Kerberos ยง โœ” โœ” โœ” โœ” โœ” โœ˜ โœ˜ โœ”
SwiftMQ โœ” โœ” โœ” โœ” โœ” โœ˜ โœ” โœ” โœ” โœ˜ โœ” โœ˜ โœ”
TraferoTstack โœ” โœ” โœ” โœ” โœ˜ โœ˜ โœ” โœ” โœ˜ โœ˜ โœ˜ โœ˜ โœ˜
VerneMQ โœ” โœ” โœ” Username/Password โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ”
Waterstream โœ” โœ” โœ” Username/Password, SSL client certificates โœ” โœ˜ โœ” โœ” โœ” โœ” โœ˜ rm โœ”
mmqtt โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” โœ” ยง โœ˜ โœ”

Keys

  • โœ” means: Supported
  • โœ˜ means: Not supported
  • ? means: Unknown
  • ยง means: See limitations
  • rm means: Roadmap (planned)

Deprecated or discontinued software / services

Limitations

  • AWS IoT Services reserves some topics starting with $.
  • ClearBlade reserves some topics starting with $.
  • mosquitto clustering is achieved on backend level (redis, amqp, etc).
  • MQTT.js will accept connections with username and password supplied, but does not actually authenticate the connection.
  • Software AG Universal Messaging provides Active/Active clustering (over a proprietary protocol) and bridging (over a proprietary protocol).
  • Solace does provide a proprietary bridge solution between brokers.
  • MQTTnet provides a client and server implementation. All features can be extended as desired (or left away). This targets mainly .Net developers to build their custom server and client implementations. However, the standard has already a lot of functionality available.

Potential columns to add

  • Last will support
  • Additional protocols support (WMQ, AMQP, MQTTs, etc)

This is in need of expanding. Please add known information about known brokers to this table and include any known limitations, too.

For a broker comparison (Although its outdated for sure now), see also https://github.com/mqtt/mqtt.github.io/issues/37 and the attached PDF file.