本次发布版本主要是针对 smart-mqtt 性能作了很大的提升。
另外受制于性那压测工具 emqx-bench 无法支持 arm 架构的服务器,我们自研了能够实现跨平台的 Java 版压测工具:smart-mqtt-bench。
一、关于 smart-mqtt
smart-mqtt 是用 java 语言开发的 MQTT Broker 服务,也是 smartboot 组织下首款真正意义上面向物联网的解决方案。旨在帮助企业以较低的成本快速搭建稳定、可靠的物联网服务,助力万物互联互通。
![]()
二、快速启动
2.1 Jar 包启动
下载地址:https://gitee.com/smartboot/smart-mqtt/releases/tag/v0.10
java -jar smart-mqtt-broker-community-0.10.jar
2.2 docker 启动
docker run -d --name smart-mqtt -p 1883:1883 smartboot/smart-mqtt:latest
三、更新内容 🎉
3.1 社区版
- 采用自研的压测工具 smart-mqtt-bench 替换 emqx-bench,以获得更好更强劲的压测体验。
- fastjson 升级至 fastjson2:2.0.20.graal。
- 重构消息推送模型,通过优化设计获得更高的通信性能。
- 新增事件总线的事件类型:MESSAGE_BUS_CONSUMED
- MemoryMessageStoreQueue 仅存储类型为 MqttPublishMessage 的消息。
- 缓冲区配置参数由 readBufferSize 调整为 bufferSize,且 read/write 共享该参数。
- 新增 Broker 服务的 Topic 数量限制,且默认值为:1024。
- MQTT Broker 支持的最大报文采用参数化配置:maxPacketSize。
- maxKeepAliveTime 由 1分钟调整成10分钟。
- 移除 BrokerContext#batchPublish 接口。
- 移除 MonitorPlugin 插件。
- 多个 MQTTClient 支持共享内存池。
- MQTT Client 缓冲区采用参数配置化。
- 支持临时扩容缓冲区容量,不超过 maxPacketSize 即可。
- 升级飞行窗口流控算法。
- 消息输出支持主动和被动两种模式。
3.2 企业版
- 调整授权提示信息。
- 改进打包工具。
- 适配最新版 smart-mqtt。
四、文档 📘
更多内容访问官网:https://smartboot.tech/smart-mqtt/
五、关于企业版
出于项目的可持续发展需要,我们在 smart-mqtt 社区版的基础上,丰富了一些企业级功能。 如果贵公司认可 smart-mqtt 的商业价值,可以通过成为赞助商获得企业版授权。
| 功能 |
社区版 |
企业版 |
| MQTT/TCP |
✅ |
✅ |
| MQTT/Websocket |
❌ |
✅ |
| Broker集群 |
❌ |
✅ |
赞助等级
| |
青铜赞助商 |
白银赞助商 |
黄金赞助商 |
铂金赞助商 |
| 赞助条件 |
加入企业支持计划 |
500元/年 |
1500元/年 |
5000元/年 |
| License有效期 |
1年 |
1年 |
1 年 |
1年 |
| 部署指导 |
❌ |
1次 |
1次 |
不限次数 |
赞助商Logo展示位 |
❌ |
小号 |
中号 |
大号 |
| 首页Logo展示位 |
❌ |
❌ |
❌ |
✅ |
| 技术支持 |
文档 |
邮件/Issues |
微信/QQ/邮件 |
微信/QQ/邮件 |