作者:langzi | 来源:互联网 | 2023-09-02 14:51
关于 smart-mqtt
smart-mqtt 是用 java 语言开发的 MQTT Broker 服务,也是 smartboot 组织下首款真正意义上面向物联网的解决方案。旨在帮助企业以较低的成本快速搭建稳定、可靠的物联网服务,助力万物互联互通。
产品特色 -
国产血统:从底层通信(smart-socket)直至应用层 Broker 服务(smart-mqtt)皆为自研。
-
开箱即用:零配置即可启动 MQTT Broker 服务。
-
灵活扩展:通过插件机制,提供高度自由的定制化能力。
-
高能低耗:运用设计和算法技巧充分发挥硬件能力。
-
极致轻量:极少的外部依赖,发行包仅 3MB。
文档地址
筹备中...
开源地址
Gitee(主站):https://gitee.com/smartboot/smart-mqtt
GitHub(镜像同步):https://github.com/smartboot/smart-mqtt
环境依赖 本期更新
【新特性】
- Retain 消息内存持久化,并在客户端 CONNECT 成功后推送匹配的消息。
- 新增飞行窗口(Inflight Window)功能,限制同时发送Qos1和Qos2的数量,保障通信质量。
- 新增 MQTT Broker 和 MQTT Client 的消息重发功能。
【优化】
- 重构 MQTT 消息模型设计。
- 改进消息内存持久化的处理逻辑。
- 提升并发场景下的线程安全性。
- 改进客户端的 subscribe 和 publish 的接口设计。
- 客户端正常断开连接时发送 DISCONNECT 消息。
- MQTT 消息对象序列化调整为 JSON 格式。
- 主动拦截已断开连接的消息发送行为。
- 以正整数作为合法的 packetId。
- 补充压测的单元测试。
【Bugfix】
- 修复Broker端在某些异常场景下资源释放不彻底问题。
- 修复CONNECT消息的合法性校验错误问题:如果客户端提供的ClientId为零字节且清理会话标志为 0,服务端必须发送返回码为 0x02的CONNACK报文响应客户端的CONNECT报文。
功能模块