smart-mqtt v0.3 发布,国产开源 MQTT Broker 服务器
关于 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+ 本期更新 【新特性】 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报文。 功能模块