📋 Click to expand complete feature list
- Standard MQTT Protocol - Full support for MQTT 3.1.1 & 5.0 protocols
- WebSocket Protocol - WebSocket-based MQTT communication
- TLS/SSL Encryption - Secure encrypted communication
- HTTP Protocol - HTTP interface management
- QoS 0 - At most once delivery
- QoS 1 - At least once delivery
- QoS 2 - Exactly once delivery
- Topic Filtering - Wildcard matching support
#Multi-level wildcard+Single-level wildcard
- Retained Messages - Message persistence and republishing
- Interceptors - Custom message processing logic
- Metrics Monitoring - Comprehensive performance monitoring
- Rule Management - Flexible business rule configuration
- Data Source Management - Multiple data source integration
- Real-time Computing - Stream data processing
- Cluster Support - High-availability distributed deployment
- Dynamic Routing - Intelligent message routing strategy
- Node Discovery - Automated cluster management
- Distributed Jobs - Cluster task scheduling
- Load Balancing - High-performance load distribution
- Web Management UI - Intuitive visual management
- SpringBoot Integration - Simplified development integration
- Monitoring Dashboard - Real-time performance monitoring
🌟 SMQTTX is a high-performance, distributed MQTT message broker server built with Java 21, designed specifically for IoT scenarios.
SMQTTX builds high-performance distributed MQTT clusters based on Reactor-Netty, providing:
- 🚄 Ultimate Performance - Supports millions of concurrent connections on a single node
- 🔧 Simple Configuration - Out-of-the-box with minimal configuration
- 🌐 Distributed - Horizontal scaling, supporting millions of device connections
- 📊 Visual Management - Unified management platform with real-time monitoring
- 🔌 Easy Integration - SpringBoot Starter for one-click startup
✅ Requirements: SpringBoot >= 3.0.0, Java >= 21
<dependency>
<artifactId>smqttx-spring-boot-starter</artifactId>
<groupId>io.github.quickmsg</groupId>
<version>2.1.0</version>
</dependency>
<!-- Resolve H2 database version conflicts -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.197</version>
</dependency>Add configuration to application.yaml:
# Refer to complete configuration
# config/config.yaml📋 Full Configuration Reference
Add @EnableMqttServer annotation to your SpringBoot application class:
@SpringBootApplication
@EnableMqttServer
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}| Module | Description | Documentation |
|---|---|---|
| 🔧 MQTT Config | Basic MQTT service configuration | View Docs |
| 🔐 ACL Config | Access control list configuration | View Docs |
| 🔑 Auth Config | Authentication & authorization config | View Docs |
| 🌐 HTTP Config | HTTP interface configuration | View Docs |
| 🔌 WebSocket Config | WebSocket protocol configuration | View Docs |
| 🌍 Cluster Config | Distributed cluster configuration | View Docs |
| 🔒 SSL/TLS Config | Secure transport configuration | View Docs |
Thanks to the maintainers of this project:
📋 Click to Open/Close Maintainer List
- MetaQ - SMQTTX project maintainer.
Thanks to all the contributors who participated in SMQTTX development. Contributors List
- Reactor-Netty - High performance network framework
- Reactor3 - Reactive framework implementation based on Reactor3
- Ignite - High performance distributed network service cache
- WebSite - Project official website
- Wiki - Project documentation
Contact WeChat
18510240791for commercial version integration!
Add WeChat 17512575402 to join the discussion group