国产开源 MQTT Broker 服务器,smart-mqtt v0.3 发布

Java 投稿 26800 0 评论

国产开源 MQTT Broker 服务器,smart-mqtt v0.3 发布

关于 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

环境依赖

  • 开发环境

    • JDK 1.8+

    • Maven 3.x

    • IDEA

  • 部署环境

    • 操作系统:Linux/MacOS/Docker/K8S

    • Java:JRE/JDK 1.8+

smart-mqtt v0.3 本期更新

【新特性】

  • 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报文。

编程笔记 » 国产开源 MQTT Broker 服务器,smart-mqtt v0.3 发布

赞同 (54) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽