server support

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

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.

via https://github.com/mqtt/mqtt.github.io/wiki/server-support

最后更新于 2018年4月16日

各MQTT服务器的功能支持
标签: