smart-mqtt is an MQTT Broker service designed for enterprise-level IoT scenarios with tens of thousands of device connections. It is the first truly IoT-oriented solution released by the smartboot open-source organization. Developed in Java, its underlying communication is based on the asynchronous non-blocking communication framework smart-socket, implementing the complete MQTT v3.1.1/v5.0 protocol.
| Advantage | Business Value |
|---|---|
| π Ultra-High Performance | Millions of connections and tens of millions of throughput on a single machine. Support massive devices with ordinary servers. The larger the connection volume, the more obvious the cost advantage. |
| π§ Open Architecture | Plugin-based design for on-demand extension. Southbound adaptation to multi-protocol devices, northbound bridging to enterprise systems. No feature bloat. |
| β Java Ecosystem | Zero-barrier integration with existing tech stacks. Teams can get started quickly with mature operation and maintenance toolchains. No long-term maintenance burden. |
| π Standard Protocol | Full compliance with MQTT 3.1.1/5.0. No vendor lock-in, business autonomy and controllability, smooth migration at any time. |
| π¨π³ Autonomous and Controllable | Fully self-developed core components with transparent and secure code. Complies with government and enterprise information innovation requirements. |
Important Notice: The smart-mqtt code is for personal learning use only. Any individual or organization is not authorized to use this product for commercial purposes without permission.
docker run --name smart-mqtt \
-p 1883:1883 \
-p 18083:18083 \
-e ENTERPRISE_ENABLE=true \
-d smartboot/smart-mqtt:latestAfter the service starts, you can access it through the following ports:
- MQTT Service Port:
1883 - Management Panel Port:
18083(Default credentials: smart-mqtt / smart-mqtt)
π Docker Compose Deployment (Multi-node Cluster)
networks:
mqtt-network:
driver: bridge
services:
mqtt-broker:
container_name: smart-mqtt
hostname: mqtt-broker
image: smartboot/smart-mqtt:latest
networks:
mqtt-network: null
environment:
ENTERPRISE_ENABLE: true
BROKER_MAXINFLIGHT: 256
restart: always
ports:
- 18083:18083
- 1883:1883docker-compose up -dDownload the pre-compiled installation package from the Release page:
# Download the latest version of the installation package
# Please visit the GitHub Release page to download:
# https://github.com/smartboot/smart-mqtt/releases
# Extract the installation package
tar -xzf smart-mqtt-*.tar.gz
cd smart-mqtt-*
# Start the service
./bin/start.sh- Domestic Origin: From underlying communication (smart-socket) to application-layer Broker service (smart-mqtt), all are self-developed
- Extremely Lightweight: Minimal external dependencies, distribution package under 800KB
- High Performance, Low Consumption: Utilizes design and algorithm techniques to fully leverage hardware capabilities, TPS up to 10 million/second
- Out of the Box: Start MQTT Broker service with zero configuration
- Flexible Extension: Provides highly customizable capabilities through plugin mechanism
- Multi-platform Support: Supports Docker, local deployment, source code compilation and other deployment methods
- Complete Protocol: Implements MQTT v3.1.1 and v5.0 protocols
- High Concurrency: Supports million-level device connections
- QoS Support: Supports QoS 0, 1, 2 message quality levels
| Scenario | QoS0 | QoS1 | QoS2 |
|---|---|---|---|
| Message Subscription (2000 subscribers, 128 Topics) | 10M/s | 5.4M/s | 3.2M/s |
| Message Publishing (2000 publishers, 128 Topics) | 970K/s | 630K/s | 520K/s |
You can get the latest release from the following channels:
- GitHub Releases: https://github.com/smartboot/smart-mqtt/releases
- Docker Hub: https://hub.docker.com/r/smartboot/smart-mqtt
smart-mqtt/
βββ smart-mqtt-broker/ # MQTT Broker main module
βββ smart-mqtt-client/ # MQTT Client SDK
βββ smart-mqtt-common/ # Common module
βββ smart-mqtt-plugin-spec/ # Plugin specification definition
βββ smart-mqtt-maven-plugin/ # Maven plugin
βββ smart-mqtt-bench/ # Performance testing tool
βββ plugins/ # Plugin collection
β βββ enterprise-plugin/ # Enterprise plugin (Web management console)
β βββ cluster-plugin/ # Cluster plugin
β βββ websocket-plugin/ # WebSocket plugin
β βββ mqtts-plugin/ # MQTT over SSL/TLS plugin
β βββ redis-bridge-plugin/ # Redis bridge plugin
β βββ simple-auth-plugin/ # Simple authentication plugin
β βββ memory-session-plugin/# Memory session plugin
β βββ bench-plugin/ # Performance benchmarking plugin
βββ pages/ # Documentation website
βββ docker-compose.yml # Docker compose file
βββ Makefile # Build script
smart-mqtt adopts a plugin-based architecture design. The enterprise-plugin provides a fully-featured Web management console and powerful plugin lifecycle management capabilities.
| Plugin | Description |
|---|---|
| enterprise-plugin | Enterprise core plugin, providing Web management console, RESTful API, user management, License management and other features |
| cluster-plugin | Cluster plugin, supports multi-node cluster deployment, achieves load balancing and high availability |
| websocket-plugin | WebSocket plugin, allows clients to communicate via WebSocket for MQTT |
| mqtts-plugin | MQTT over SSL/TLS plugin, provides secure encrypted communication capabilities |
| redis-bridge-plugin | Redis bridge plugin, enables message integration with Redis |
| simple-auth-plugin | Simple authentication plugin, provides basic username/password authentication |
| memory-session-plugin | Memory session plugin, provides memory-based session state management |
| bench-plugin | Performance benchmarking plugin, built-in performance testing tool |
- Hot Plugging: Dynamic plugin loading, start/stop without service restart
- Configuration Management: Online plugin configuration modification, takes effect in real-time
- Plugin Marketplace: Connect to official plugin repository, browse, search and download published plugins
- Local Upload: Support uploading custom developed JAR packages for installation
- Official Documentation: https://smartboot.tech/smart-mqtt/
- Online Demo: http://115.190.30.166:8083/ (Credentials: smart-mqtt / smart-mqtt)
- Issue Feedback: GitHub Issues
For details, please see: Changelog
- 2018: Created smart-mqtt project, completed basic protocol codec structure
- 2019-2021: Project was mostly inactive, focus was on improving the underlying communication framework smart-socket performance
- 2022: Restarted smart-mqtt, basically completed MQTT Broker and Client functionality development
- 2023: smart-mqtt enterprise edition initiated
- 2025: smart-mqtt enterprise edition fully open-sourced
- γMQTT Protocol 3.1.1 Chinese Versionγ
- moquette
Notice: Commercial use requires authorization! For details, please visit smartboot official website.
License: GNU Affero General Public License version 3