A distributed architecture for MQTT messaging: the case of TBMQ
摘要
This article introduces ThingsBoard Message Queue (TBMQ), a scalable and fault-tolerant Message Queuing Telemetry Transport (MQTT) broker designed to address the challenges of data handling in large-scale Internet of Things (IoT) ecosystems. TBMQ’s distributed architecture enables horizontal scalability, fault tolerance, and reliable data delivery, ensuring high availability and data durability under heavy load conditions. The broker efficiently handles two prevalent communication patterns in big data IoT applications: the fan-in pattern, where a large number of devices generate high volumes of messages for processing, and the fan-out pattern, where a few requests trigger significant outgoing data to multiple devices. Leveraging Apache Kafka (Kafka), TBMQ supports over 100 million concurrent client connections and a throughput exceeding 3 million messages per second. This paper explores the architectural decisions, technical innovations, and strategic use of Kafka, providing insights into building reliable and scalable messaging systems suitable for the demanding requirements of big data in IoT.