Skip to content

Latest commit

 

History

History
222 lines (150 loc) · 6.95 KB

File metadata and controls

222 lines (150 loc) · 6.95 KB

SMQTTX

apache reactor-netty reactor3 ignite mqtt version java

✨ Core Features

📋 Click to expand complete feature list

🚀 Protocol Support

  • 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

🎯 Quality of Service

  • QoS 0 - At most once delivery
  • QoS 1 - At least once delivery
  • QoS 2 - Exactly once delivery

🔍 Advanced Features

  • 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 Engine

  • Rule Management - Flexible business rule configuration
  • Data Source Management - Multiple data source integration
  • Real-time Computing - Stream data processing

🌐 Distributed Architecture

  • 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

🎮 Management Platform

  • Web Management UI - Intuitive visual management
  • SpringBoot Integration - Simplified development integration
  • Monitoring Dashboard - Real-time performance monitoring

📖 Project Introduction

SMQTTX Architecture

🌟 SMQTTX is a high-performance, distributed MQTT message broker server built with Java 21, designed specifically for IoT scenarios.

🏠 Official Website

🎯 Project Background

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

🚀 Quick Start

version

📦 Maven Dependency

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>

⚙️ Configuration

Add configuration to application.yaml:

# Refer to complete configuration
# config/config.yaml

📋 Full Configuration Reference

🎯 Start Application

Add @EnableMqttServer annotation to your SpringBoot application class:

@SpringBootApplication
@EnableMqttServer
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

📚 Configuration Documentation

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

👥 Maintainers

Thanks to the maintainers of this project:

MetaQ
📋 Click to Open/Close Maintainer List
  • MetaQ - SMQTTX project maintainer.

🤝 Contributors

Thanks to all the contributors who participated in SMQTTX development. Contributors List

🧩 Components

  • 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

💼 Commercial Version

Commercial Demo

Contact WeChat 18510240791 for commercial version integration!

📄 License

License APACHE 2.0

📞 Contact Us

Add WeChat 17512575402 to join the discussion group