MQTT
MQTT is a standard messaging protocol for the Internet of Things (IoT). It is designed as an extremely lightweight publish/subscribe messaging transport that is ideal for connecting remote devices with a small code footprint and minimal network bandwidth.
Southbound MQTT communication
The Information Router (IR) supports the MQTT protocol between devices and IR, meaning that the device publishes to an MQTT broker on a certain topic and IR subscribes to it, in order to receive the request. The IR then forwards the received message to the target service, most commonly via REST. The response from the service is received by the IR again via the destination protocol (commonly REST) and published back to a topic on which the device is subscribed. The response to the device is currently limited, but will be extended in the future.
In order to allow for horizontal scaling, any MQTT subscription is created as a shared subscription. This allows multiple IR instances to subscribe to the same topic and share the load of incoming messages. However this requires the broker to support shared subscriptions which is a feature introduced with MQTT protocol version 5.0 Therefore only brokers that are MQTT 5.0 compliant are supported.