SMQTTX是一款高性能&开源的MQTT服务器,支持单机、容器化、集群部署,支持多种协议,具备低延迟,高吞吐量,支持百万TCP连接。
MQTT协议提供了一种使用发布/订阅模型执行消息传递的轻量级方法。这使得它适用于物联网消息传递,如低功耗传感器或手机、嵌入式计算机或微控制器等移动设备。
SMQTTX是一个开源mqtt消息代理服务器,它实现了MQTT协议3.1.1和3.1。SMQTTX是轻量级,适用于从低功耗单板计算机到全服务器的所有设备。
SMQTTX非常友好地支持快速配置,对于java应用可以非常容易完成二次开发,并且拥有高性能高吞吐量的mqtt服务。
SMQTT基于reactor-netty(spring-webflux底层依赖) 开发,底层采用Reactor3反应堆模型,支持单机部署,支持容器化部署,具备低延迟,高吞吐量,支持百万TCP连接,同时支持多种协议交互,是一款非常优秀的消息中间件!
smqtt目前拥有的功能如下
1、消息质量等级实现(支持qos0,qos1,qos2)
2、topicFilter支持
topic分级(test/test)
+支持(单层匹配)
*支持(多层匹配)
3、会话消息
默认内存存储
支持持久化(redis/db)
4、保留消息
默认内存存储
支持持久化(redis/db)
5、遗嘱消息
设备掉线时候触发
6、客户端认证
支持spi注入外部认证
7、tls加密
支持tls加密(mqtt端口/http端口)
8、websocket协议支持x
使用mqtt over websocket
9、http协议交互
支持http接口推送消息
支持spi扩展http接口
10、SPI接口扩展支持
消息管理接口(会话消息/保留消息管理)
通道管理接口 (管理系统的客户端连接)
拦截器 (用户自定义拦截消息)
11、集群支持(gossip协议实现)
12、容器化支持
默认镜像最新tag: 1ssqq1lxr/smqtt
13、持久化支持(session 保留消息)
14、规则引擎支持
15、支持springboot starter启动
16、管理后台
请参考smqtt文档如何启动管理后台
17、grafana监控集成
支持influxdb
支持prometheus
18、ACL权限管理
对设备、资访问授权
19、认证模块
支持http
支持匿名
支持固定密码
支持sql
管理后台
监控页面
Mqtt监控
Jvm监控
Netty监控