MQTT-ST: a Spanning Tree Protocol for Distributed MQTT Brokers
MQTT, one of the most popular protocols for the IoT, works according to a publish/subscribe pattern in which multiple clients connect to a single broker, generally hosted in the cloud. However, such a centralised approach does not scale well considering the massive numbers of IoT devices forecasted in the next future, thus calling for distributed solutions in which multiple brokers cooperate together. Indeed, distributed brokers can be moved from traditional cloud-based infrastructure to the edge of the network (as it is envisioned by the upcoming MEC technology of 5G cellular networks), with clear improvements in terms of latency, for example. This paper proposes MQTT-ST, a protocol able to create such a distributed architecture of brokers, organized through a spanning tree. The protocol uses in-band signalling (i.e., reuses MQTT primitives for the control messages) and allows for full message replication among brokers, as well as robustness against failures. We tested MQTT-ST in different experimental scenarios and we released it as open-source project to allow for reproducible research.
READ FULL TEXT