1. Introduction to Smart-MQTT
Smart-MQTT is the first solution developed by the Smartboot organization for the Internet of Things, using the Java programming language to provide efficient and reliable MQTT Broker services.
The unique advantage of Smart-MQTT is its ability to maintain low latency and high throughput even with a large number of devices connected, meeting the stringent real-time requirements of the IoT field. Additionally, to minimize hardware costs, Smart-MQTT employs a highly optimized resource management strategy, reducing CPU and memory usage during system operation, allowing enterprises to maintain high performance while significantly lowering operational costs.
Furthermore, the MQTT protocol is inherently suitable for IM scenarios, making Smart-MQTT an excellent choice for building enterprise-level IM applications.

The Smartboot open-source organization is a low-profile group that is often mistakenly thought to be “reinventing the wheel.” It was awarded the 2020 OSC China Open Source Project “Outstanding Gitee Organization” honor.
Star projects within the organization include:
Smart-Socket, refined over 5 years into more than 2000 lines of code, easily implementing AIO communication frameworks for millions of long connections. Smart-HTTP, an HTTP/1.1 web service based on Smart-Socket. Smart-Servlet, a Servlet 3.1 container service based on Smart-HTTP. Smart-MQTT, an MQTT 3.1.1/5.0 Broker & Client service based on Smart-Socket. Smart-Flow, a lightweight business orchestration framework with observability. Organization address: https://smartboot.tech/ Code repository: https://gitee.com/smartboot
One-Click Start
docker run --name smart-mqtt \
-p 18083:18083 \
-p 1883:1883 \
-d smartboot/smart-mqtt:latest
-
18083: Web management backend service port -
1883: MQTT port

2. Version Updates
In terms of functionality, the latest version of Smart-MQTT introduces a shared subscription feature. The main advantage of this feature is that it provides load balancing for subscribers, improving performance issues in large-scale messaging systems through a more flexible and scalable message distribution mechanism.
In the traditional MQTT subscription model, each client subscribed to a specific topic receives all messages published under that topic, which may lead to clients with weaker consumption capabilities being unable to process a large number of messages in time, thus becoming a performance bottleneck for the system. Shared subscriptions allow messages from a topic to be consumed by multiple subscribers, effectively distributing this pressure and enhancing the overall efficiency and reliability of the system.
Although shared subscriptions are part of the MQTT 5.0 specification, Smart-MQTT has adapted this feature for lower versions of the MQTT protocol, allowing clients using MQTT 3.1/3.1.1 to benefit as well.
Regarding performance, Smart-MQTT has once again broken the computational limit, with a peak TPS reaching 738W/s. This performance relies on a cutting-edge algorithm: the byte tree, which operates on the same principles as that in Smart-HTTP.

As for stability, a set of data is sufficient to illustrate this. Smart-MQTT initiated a load testing task with 15,000 clients on February 1, 2024. This load test was then forgotten, and the server was continuously stressed for over a month. Ultimately, the connection status, throughput, CPU, and memory all performed stably.

This update includes:
-
Reduced the frequency of console metrics monitoring prints. -
New shared subscription feature. -
Adjusted Topic encoding and decoding algorithms.
3. Performance Testing Report
-
Scenario 1: 10 publishers send messages with a payload of 128 bytes every millisecond, distributed across 128 topics, with 2000 subscribers subscribing to these topic messages.
Smart-MQTT | v0.33 | v0.34 | v0.35 | v0.36 |
---|---|---|---|---|
QoS0 | 350W/s | 600W/s | 670W/s | 738W/s |
QoS1 | 220W/s | 280W/s | 320W/s | 310W/s |
QoS2 | 110W/s | 150W/s | 180W/s | 185W/s |
-
Scenario 2:
2000 publishers send 10 messages with a payload of 128 bytes every millisecond, distributed across 128 topics.
Smart-MQTT Enterprise Edition | |
---|---|
QoS0 | 97W/s |
QoS1 | 63W/s |
QoS2 | 52W/s |
4. How to Obtain Smart-MQTT
Source Code
-
Main Repository: https://gitee.com/smartboot/smart-mqtt -
Image Synchronization: https://github.com/smartboot/smart-mqtt
Product Manual
