Skip to content
Douglas Gibbons edited this page Jul 8, 2017 · 63 revisions

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
Trafero Tstack
mosquitto §
RSMB ?
WebSphere MQ ? ? ?
HiveMQ
Apache Apollo ? ?
Apache ActiveMQ
Software AG Universal Messaging rm
RabbitMQ ? ? ?
Solace §
MQTT.js §
moquette ? ? ? rm
mosca ? ? ? ?
IBM MessageSight §
2lemetry §
GnatMQ
JoramMQ
VerneMQ
emqttd
HBMQTT
Mongoose ? ? ? ? ? ? ? ? ?
emitter §
Bevywise IoT Platform rm rm

Key: ✔ supported ✘ not supported ? unknown § see limitations rm roadmap (planned)

Limitations

  • MQTT.js will accept connections with username and password supplied, but do not actually authenticate the connection

  • IBM MessageSight supports a High-Availability mode which provides the redundancy advantage of a cluster, but does not support any sort of load balancing for MQTT.

  • 2lemetry uses domains, where the first topic segment is the domain name. The $SYS topic space is under the domain (i.e. com.example/$SYS/#)

  • Solace does provide a proprietary bridge solution between brokers.

  • mosquitto clustering is achieved on backend level (redis, amqp, etc).

  • Software AG Universal Messaging provides Active/Active clustering (over a proprietary protocol) and bridging (over a proprietary protocol).

Potentially should add columns to track: LWT; additional protocols (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 below it.

Clone this wiki locally