Baidu open source BifroMQ: high-performance multi-tenant MQTT message middleware for IoT

8e1ba706c2aa1825616ed752a4ead87d.jpeg

In July 2023, in order to accelerate the innovation and excellent development of the IoT industry, the Baidu Tiangong AIoT IoT platform team officially open sourced high-performance distributed MQTT IoT messaging middleware and named it BifroMQ .

 BifroMQ name meaning 

The name of BifroMQ is inspired by Bifröst in Norse mythology—a rainbow bridge that connects Midgard, the human world, and Asgard, the world where gods live. It is a solid and flexible channel between the two worlds. BifroMQ is also designed to be a hub connecting various systems or applications, enabling communication between them through message passing.

 BifroMQ technical architecture and performance 

BifroMQ is a high-performance distributed MQTT Broker message middleware implementation that seamlessly integrates native multi-tenant support. It is designed to support building large-scale IoT device connection and messaging systems. It is derived from the Baidu IoT team's years of technology accumulation, and serves as the basic technology of Baidu Smart Cloud IoT core suite IoT Core, which is a public cloud Serverless MQTT service.

  • Full MQTT support

Fully supports MQTT 3.1/3.1.1 including TCP, TLS, WS, WSS functions. MQTT 5 will also be supported soon.

built-in storage engine

Targeted optimization for critical loads, no third-party middleware dependencies.

Native support for multi-tenancy

Native support for multi-tenant resource sharing and workload isolation.

extension mechanism

  • Authentication/Authorization

  • Runtime Setting

  • Bridging

  • Events

  • System/Tenant-level Monitoring

Data integration:  In addition to using traditional devices to receive messages and events from BifroMQ, users can also use SDK to access and integrate data between services. The integration method is shown in the figure below:

aa7863d29ee35f81bbe5f70469ea73f2.png

The integrator receives data from BifroMQ through shared subscription ($share/{groupName}/topicFilter), and passes the data to the downstream such as Kafka or MySQL . Due to the large amount of integrated data between services, the load for a single MQTT connection is relatively large, and the bandwidth has an upper limit. The method of shared subscription just takes advantage of its load balancing characteristics, and the number of corresponding MQTT Clients can be flexibly increased or decreased as the business develops.

In addition, BifroMQ supports three deployment modes: stand-alone mode (Standalone), standard cluster (Standard Cluster), and independent workload cluster (Independent Workload Cluster), and allows customization through plug-ins to meet different business needs.

BifroMQ has undergone rigorous performance testing , demonstrating powerful processing capabilities and low latency. In a standard test environment, when dealing with a large number of concurrent message publishing, BifroMQ maintains extremely low message latency and low CPU usage.

b00bea74f2137ddfe7eb8d9a50bbedc8.png

 BifroMQ applicable scenarios 

BifroMQ can be widely used in various IoT scenarios, including but not limited to smart home, industrial Internet of Things, Internet of Vehicles, and smart cities . It can provide reliable and high-performance message transmission services for these applications, supporting large-scale device connection and message processing .


In the field of smart home , through BifroMQ, tens of millions of home devices can be connected, and functions such as remote control, status synchronization and data reporting can be realized; in the field of industrial Internet of Things , it can support a large number of sensors and devices for real-time data collection and processing ; For the Internet of Vehicles , BifroMQ can handle communication between vehicles and between vehicles and infrastructure; in smart city applications, it can assist in the management and optimization of urban resources, such as traffic, energy, and security.

 future outlook 

BifroMQ will continue to improve its support for MQTT 5 , strengthen performance optimization, enrich functions, and continue to expand its application in the field of Internet of Things. At the same time, we will continue to uphold the concept of technology neutrality and further strengthen BifroMQ's "integrated" capabilities, making it easier to work with various systems and applications. In addition, BifroMQ will cooperate with more open source projects and standardization organizations in the future to jointly promote the development of IoT technology and contribute to the upgrade and iteration of the global IoT industry.

Finally, as an open source project, BifroMQ welcomes developers and enterprises to participate in project development and improvement. To this end, we provide developers with a wealth of resources such as documentation, tutorials, Q&A, and code contributions on the BifroMQ official website (https://bifromq.io/).

Past recommendation

☞ IDC China 2022 IoT Platform Evaluation Report

☞ IoT Platform Trends in 2022: Privatization

☞ 5 failed lessons worth sharing about Internet of Things startups

☞ Selection and comparison of four domestic IoT platforms

☞ Is the [IoT platform] of cloud vendors not popular?

bd1e5adcdd315fba5d5818fd5d08dc51.png

b50b7452569d0e65474aaab40043358c.gif

998a3cb09c2d4652e589fb209274919e.gif

414fd453a96eac2653a916e6ab361a49.gif

6adcb87db51307a63ea3038811b74ca9.gif

Guess you like

Origin blog.csdn.net/klandor2008/article/details/131714707