Abstract
Many enterprise IoT application scenarios, such as connected cars, smart cities, and cloud-connected industrial plants require distributed MQTT brokers to achieve high scalability and availability. With a market of over 20 MQTT brokers, it is hard for software architects to make a good selection. Existing MQTT comparisons often include only non-distributed brokers, focus exclusively on performance, or are difficult to generalize. We compared three distributed MQTT brokers for performance, scalability, resilience, security, extensibility, and usability in an enterprise IoT scenario deployed to an edge gateway cluster. We found that EMQX provided the best performance (28K msg/s), while only HiveMQ showed no message loss in our test scenario. VerneMQ offers similar features as the other brokers but is fully available as open source. The paper includes decision guidance for software architects, listing six major decision points regarding MQTT brokers.
Keywords
- IoT
- MQTT
- Distributed messaging
- Edge computing
- Virtualization
- Software containers
- Benchmarking
- GQM
- Performance
This is a preview of subscription content, access via your institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
References
Al-Fuqaha, A., Guizani, M., Mohammadi, M., Aledhari, M., Ayyash, M.: Internet of Things: a survey on enabling technologies, protocols, and applications. IEEE Commun. Surv. Tutor. 17(4), 2347–2376 (2015)
Bertrand-Martínez, E., Feio, P., Nascimento, V., Pinheiro, B., Abelém, A.: A methodology for classification and evaluation of IoT brokers. In: 9th Latin American Network Operations and Management Symposium, LANOMS. IFIP (2019)
Basili, V.R., Caldiera, G., Rombach, H.D.: The goal question metric approach. In: Encyclopedia of Software Engineering, pp. 528–532 (1994)
Chaudhari, M., Gupta, P.: Building pubsub for 50m concurrent socket connections, June 2019. https://blog.hotstar.com/building-pubsub-for-50m-concurrent-socket-connections-5506e3c3dabf
De Caro, N., Colitti, W., Steenhaut, K., Mangino, G., Reali, G.: Comparison of two lightweight protocols for smartphone-based sensing. In: Symposium on Communications and Vehicular Technology in the Benelux (SCVT), pp. 1–6. IEEE (2013)
Fortune Business Insights: Internet-of-Things market research report, July 2019. https://www.fortunebusinessinsights.com/industry-reports/internet-of-things-iot-market-100307
Haselböck, S., Weinreich, R.: Decision guidance models for microservice monitoring. In: International Conference on Software Architecture Workshops (ICSAW), pp. 54–61. IEEE (2017)
Hillar, G.C.: MQTT Essentials-A Lightweight IoT Protocol. Packt Publishing Ltd., Birmingham (2017)
HiveMQ-Team: 10,000,000 MQTT clients: HiveMQ cluster benchmark paper, October 2017. https://www.hivemq.com/benchmark-10-million/
HiveMQ-Team: Comparison of MQTT support by IoT cloud platforms, May 2020. https://www.hivemq.com/blog/hivemq-cloud-vs-aws-iot/
Hohpe, G., Woolf, B.: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley Professional, Boston (2004)
Iglesias-Urkia, M., Orive, A., Barcelo, M., Moran, A., Bilbao, J., Urbieta, A.: Towards a lightweight protocol for industry 4.0: an implementation based benchmark. In: International Workshop of Electronics, Control, Measurement, Signals and their Application to Mechatronics (ECMSM), pp. 1–6. IEEE (2017)
Lampkin, V., et al.: Building Smarter Planet Solutions with MQTT and IBM WebSphere MQ Telemetry. IBM Redbooks (2012)
Mesnil, J.: Mobile and Web Messaging: Messaging Protocols for Web and Mobile Devices. O’Reilly Media Inc., Sebastopol (2014)
Mishra, B.: Performance evaluation of MQTT broker servers. In: Gervasi, O., et al. (eds.) ICCSA 2018. LNCS, vol. 10963, pp. 599–609. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-95171-3_47
Naik, N.: Choice of effective messaging protocols for IoT systems: MQTT, CoAP, AMQP and HTTP. In: International Systems Engineering Symposium (ISSE), pp. 1–7. IEEE (2017)
O’Mahony, D., Doyle, D.: Reaching 5 million messaging connections: our journey with kubernetes, December 2018. https://www.slideshare.net/ConnectedMarketing/reaching-5-million-messaging-connections-our-journey-with-kubernetes-126143229
Profanter, S., Tekat, A., Dorofeev, K., Rickert, M., Knoll, A.: OPC UA versus ROS, DDS, and MQTT: performance evaluation of industry 4.0 protocols. In: IEEE International Conference on Industrial Technology (ICIT) (2019)
Sachs, K., Kounev, S., Bacon, J., Buchmann, A.: Performance evaluation of message-oriented middleware using the SPECjms2007 benchmark. Performance Evaluation 66(8), 410–434 (2009)
ScaleAgent: benchmark of MQTT servers, January 2015. https://bit.ly/2WsTw0Z
Sommer, P., Schellroth, F., Fischer, M., Schlechtendahl, J.: Message-oriented middleware for industrial production systems. In: International Conference on Automation Science and Engineering (CASE), pp. 1217–1223. IEEE (2018)
Thangavel, D., Ma, X., Valera, A., Tan, H.X., Tan, C.K.Y.: Performance evaluation of MQTT and CoAP via a common middleware. In: International Conference on Intelligent Sensors, Sensor Networks and Information Processing (ISSNIP), pp. 1–6. IEEE (2014)
Thean, Z.Y., Yap, V.V., Teh, P.C.: Container-based MQTT broker cluster for edge computing. In: International Conference and Workshops on Recent Advances and Innovations in Engineering (ICRAIE), pp. 1–6. IEEE (2019)
Tran, P., Greenfield, P., Gorton, I.: Behavior and performance of message-oriented middleware systems. In: International Conference on Distributed Computing Systems Workshops, pp. 645–650. IEEE (2002)
Zimmermann, O., Grundler, J., Tai, S., Leymann, F.: Architectural decisions and patterns for transactional workflows in SOA. In: Krämer, B.J., Lin, K.-J., Narasimhan, P. (eds.) ICSOC 2007. LNCS, vol. 4749, pp. 81–93. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-74974-5_7
Zimmermann, O., Wegmann, L., Koziolek, H., Goldschmidt, T.: Architectural decision guidance across projects-problem space modeling, decision backlog management and cloud computing knowledge. In: Working IEEE/IFIP Conference on Software Architecture, pp. 85–94. IEEE (2015)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Koziolek, H., Grüner, S., Rückert, J. (2020). A Comparison of MQTT Brokers for Distributed IoT Edge Computing. In: Jansen, A., Malavolta, I., Muccini, H., Ozkaya, I., Zimmermann, O. (eds) Software Architecture. ECSA 2020. Lecture Notes in Computer Science(), vol 12292. Springer, Cham. https://doi.org/10.1007/978-3-030-58923-3_23
Download citation
DOI: https://doi.org/10.1007/978-3-030-58923-3_23
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-58922-6
Online ISBN: 978-3-030-58923-3
eBook Packages: Computer ScienceComputer Science (R0)