Towards Resilient IoT Messaging: An Experience Report Analyzing MQTT Brokers

Many Internet-of-Things (IoT) applications for smart homes, connected factories, or car-to-car communication utilize broker-based publish/subscribe communication protocols, such as the MQTT protocol. Commercial IoT applications have high reliability requirements for messaging, as lost messages due to unstable Internet connections or node failures can harm devices or even human beings. MQTT brokers implement numerous architectural availability tactics, but former analyses of MQTT communication have mainly focused on performance measurements under stable conditions. We have created the MAYHEM resilience testing tool for MQTT brokers and applied it in various resilience experiments on different MQTT brokers (VerneMQ, Mosquitto, HiveMQ, EMQ X). We found that MQTT QoS level 0 is already robust against minor packet loss, that selected broker message persistency solutions can lead to lost messages, and that most clustered MQTT brokers favor availability and performance over communication integrity. The results can support IoT practitioners in architectural decisions and researchers as well as broker vendors in optimizing designs and implementations.

[1]  Gianna Reggio,et al.  On the Deployment of IoT Systems: An Industrial Survey , 2020, 2020 IEEE International Conference on Software Architecture Companion (ICSA-C).

[2]  Hyeonwoo Kim,et al.  Correlation analysis of MQTT loss and delay according to QoS level , 2013, The International Conference on Information Networking 2013 (ICOIN).

[3]  M. Fischer,et al.  Message-oriented Middleware for Industrial Production Systems , 2018, 2018 IEEE 14th International Conference on Automation Science and Engineering (CASE).

[4]  Schahram Dustdar,et al.  Towards Resilient Internet of Things: Vision, Challenges, and Research Roadmap , 2019, 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS).

[5]  Rajkumar Buyya,et al.  Application-aware end-to-end delay and message loss estimation in Internet of Things (IoT) - MQTT-SN protocols , 2018, Future Gener. Comput. Syst..

[6]  Martina De Sanctis,et al.  Data-driven Adaptation in Microservice-based IoT Architectures , 2020, 2020 IEEE International Conference on Software Architecture Companion (ICSA-C).

[7]  Aruna Balasubramanian,et al.  A highly resilient and scalable broker architecture for IoT applications , 2018, 2018 10th International Conference on Communication Systems & Networks (COMSNETS).

[8]  Alois Knoll,et al.  OPC UA versus ROS, DDS, and MQTT: Performance Evaluation of Industry 4.0 Protocols , 2019, 2019 IEEE International Conference on Industrial Technology (ICIT).

[9]  Eoin Woods,et al.  Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives , 2005 .

[10]  Xiaoping Ma,et al.  Performance evaluation of MQTT and CoAP via a common middleware , 2014, 2014 IEEE Ninth International Conference on Intelligent Sensors, Sensor Networks and Information Processing (ISSNIP).

[11]  Schahram Dustdar,et al.  A Goal-Driven Approach for Deploying Self-Adaptive IoT Systems , 2020, 2020 IEEE International Conference on Software Architecture (ICSA).

[12]  Rick Kazman,et al.  Realizing and Refining Architectural Tactics: Availability , 2009 .

[13]  Heiko Koziolek,et al.  A Comparison of MQTT Brokers for Distributed IoT Edge Computing , 2020, ECSA.

[14]  Mohsen Guizani,et al.  Internet of Things: A Survey on Enabling Technologies, Protocols, and Applications , 2015, IEEE Communications Surveys & Tutorials.

[15]  Peh Chiong Teh,et al.  Container-based MQTT Broker Cluster for Edge Computing , 2019, 2019 4th International Conference and Workshops on Recent Advances and Innovations in Engineering (ICRAIE).

[16]  Jan Vanus,et al.  Design of Smart Home Implementation within IoT with Natural Language Interface , 2018 .