本次发布版本主要是针对 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/邮件 |