1、smart-mqtt 简介
smart-mqtt,是 smartboot 组织下面向物联网的首款解决方案,它使用 Java 语言开发,提供高效、可靠的 MQTT Broker 服务。
smart-mqtt 的独特优势在于大量设备接入的情况下,仍能保持低延迟和高吞吐量,满足物联网领域严苛的实时性需求。同时,smart-mqtt 为了最大限度地节省硬件成本,采用了高度优化的资源管理策略,降低了系统运行时的 CPU 和内存占用,使企业在保持高性能的同时,大幅降低运维成本。
另外,mqtt 协议天然适合 IM 场景,需要打造企业级 IM 应用,smart-mqtt 同样是一个非常好的选择。
![]()
smartboot 开源组织,一个容易被误认为是在 “重复造轮子” 的低调组织。曾获得 2020 年度 OSC 中国开源项目「优秀 Gitee 组织 」荣誉。
该组织内的明星项目包括:
-
smart-socket
历时 5 年精炼出 2 千多行代码,轻松实现百万级长连接的 AIO 通信框架。
-
smart-http
基于 smart-socket 实现的 HTTP/1.1 web 服务。
-
smart-servlet
基于 smart-http 实现的 Servlet 3.1 容器服务。
-
smart-mqtt
基于 smart-socket 实现的 MQTT 3.1.1/5.0 Broker&Client 服务。
-
smart-flow
一款具备可观测性的轻量级业务编排框架。
组织地址:?https://smartboot.tech/
代码仓库:?https://gitee.com/smartboot
2、 版本更新
按照原定计划,smart-mqtt 将在 2024-01-01 日起终止《企业支持计划》,赞助商通道也将同步关闭。(PS:原授权企业若符合条件可继续享受原福利)
针对来年 smart-mqtt 运营策略上的调整,近期一直在打磨产品细节,以带来更好的用户体验。
首先,为了更加融入云原生环境,让用户更加便捷的享受 smart-mqtt 产品服务。自此版本开始,smart-mqtt 不再提供社区版发行包的下载,而是以 docker 的方式直接发布企业版镜像。
docker run --name smart-mqtt -p 18083:18083 -p 1883:1883 -d smartboot/smart-mqtt:latest
-
18083:Web管理后台服务端口
-
1883:mqtt 端口
![]()
其次,由于企业版存在一些高级功能,理论上相交社区版的性能会略低。为了降低性能损耗,通过算法优化不仅将企业版性能提升至原社区版水准,原社区版的性能也有了大幅提升。(具体见下文性能测试报告)
最后,为了贴合实际场景的使用表现。我们专门在一台 16G 内存的机器上模拟了 20万连接量,并稳定支撑了20万 TPS 的数据流量,服务端的内存开销约 3.5GB。
![]()
更新内容:
-
优化 Plugin 接口设计。
-
重构消息队列。
-
提供优雅停机能力。
-
提升 mqtt client 服务稳定性。
-
改进连接认证功能。
-
restapi 启用异步接口功能。
-
优化企业管理后台 topic订阅检索功能。
-
提供集群演示环境一键部署能力。
-
企业管理后台新增系统参数配置功能。
-
升级 smart-http 至 1.3.5。
-
升级 smart-socket 至 v1.5.36。
3、性能测试报告
| |
smart-mqtt 社区版 |
smart-mqtt 企业版 |
| QoS0 |
350W/s |
300W/s |
| QoS1 |
220W/s |
200W/s |
| QoS2 |
110W/s |
110w/s |
2000 个 publisher 每隔 1 毫秒发送 10 个 payload 为 128 字节的消息,这些消息分布在 128 种 topic 下。
| |
smart-mqtt社区版 |
smart-mqtt 企业版 |
| QoS0 |
98W/s |
97W/s |
| QoS1 |
58W/s |
58W/s |
| QoS2 |
49W/s |
47W/s |
4、如何获取 smart-mqtt
4.1 源码
4.2 Maven 依赖
<dependency>
<groupId>org.smartboot.mqtt</groupId>
<artifactId>smart-mqtt-broker</artifactId>
<version>0.32</version>
</dependency>
<dependency>
<groupId>org.smartboot.mqtt</groupId>
<artifactId>smart-mqtt-client</artifactId>
<version>0.32</version>
</dependency>
5. 关于 smart-mqtt 企业版
smart-mqtt 目前是由个人开发者在业余时间维护,计划 2024 年探索商业化模式。如果贵公司认可 smart-mqtt 的价值,现阶段可通过成为赞助商获得企业版授权。
![]()
赞助商等级
| |
青铜赞助商 |
白银赞助商 |
黄金赞助商 |
铂金赞助商 |
| 赞助条件 |
加入企业支持计划 |
500 元 / 年 |
1500 元 / 年 |
5000 元 / 年 |
| License 有效期 |
1 年 |
1 年 |
1 年 |
1 年 |
| 部署指导 |
- |
1 次 |
1 次 |
不限次数 |
| Logo 展示位 |
- |
小号 |
中号 |
大号 |
| 首页 Logo 展示 |
- |
- |
- |
✅ |
| 技术支持 |
文档 |
邮件 /ISSUE |
微信 / QQ / 邮件 |
微信 / QQ / 邮件 |
白银赞助商的价值:
成为赞助商遵循双方自愿原则,我们会在能力范围内尽可能提供 smart-mqtt 相关的技术支持。与此同时因时间和精力有限,我们也并不希望由此带来额外的负担,影响到项目的正常迭代。
所以,如有疑问尽量通过 ISSUE 交流,或者通过 ISSUE 和官方文档自助寻找答案,还望理解~~
ISSUE:?https://gitee.com/smartboot/smart-mqtt/issue