🔥smart-mqtt v0.34 发布,600W/s 的性能收官 2023
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
快速启动
docker run --name smart-mqtt \
-p 18083:18083 \
-p 1883:1883 \
-d smartboot/smart-mqtt:latest
-
18083:Web 管理后台服务端口
-
1883:mqtt 端口
2、 版本更新
按照原定计划,smart-mqtt 将在 2024-01-01 日起终止《企业支持计划》,赞助商通道也将同步关闭。
从事物联网领域的企业可抓住最后的上车机会
smart-mqtt 开源的 20 个月总共发布了 34 个版本,作为 smartboot 首款商业化发展路线的产品,其中包含了大量稳定性、可靠性、体验性相关的建设工作。
为了维持一个稳健的开发节奏,今年差不多平均每两周发布一个小版本,累计发布了 20 多版。截止目前 smart-mqtt 下载量已超 6000,其中本年度就有 4000 多次。
v0.34 是今年的最后一版,在这个版本中 smart-mqtt 从技术侧持续改进消息的推送模型,最终实测 Qos0 的通信性能从 350W/s 提升至 600W/s。
另外产品体验方面也做了一次大胆的尝试:
-
以缩略图的形式在小块区域内显示当前各项指标统计维度。
-
用户点击任意一个缩略图,会展开该指标的大屏显示效果。以此提升页面布局的空间利用率,改善原先需要滚动翻屏的糟糕体验。
更新内容:
【社区版】
-
引入弱时间精度提升通信性能
-
移除无用事件类型:MESSAGE_BUS_CONSUMED
-
重构消息推送模型,简化代码复杂性
-
修复 v0.33 引入的packetId解码算法 bug
【企业版】
-
优化内存使用率统计指标
-
新增客户端踢下线功能
-
优化指标统计界面
-
升级 opentiny 至 3.12.0
3、性能测试报告
-
场景一:
10 个 publisher 每隔 1 毫秒发送 payload 为 128 字节的消息,这些消息分布在 128 种 topic 下,有 2000 个 subscriber 订阅这些 topic 的消息。
| smart-mqtt v0.33 | smart-mqtt v0.34 | |
|---|---|---|
| QoS0 | 350W/s | 600W/s |
| QoS1 | 220W/s | 280W/s |
| QoS2 | 110W/s | 150w/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 依赖
-
mqtt broker
<dependency>
<groupId>org.smartboot.mqtt</groupId>
<artifactId>smart-mqtt-broker</artifactId>
<version>0.34</version>
</dependency>
-
mqtt client
<dependency>
<groupId>org.smartboot.mqtt</groupId>
<artifactId>smart-mqtt-client</artifactId>
<version>0.34</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 / 邮件 |
白银赞助商的价值:
成本:500 元 / 年,相当于一名初中级程序员一天的薪资。
产出效益:
增加品牌曝光率。
节省投入在 Sass 云服务中的巨额资费。
结交更多物联网领域的从业者。
成为赞助商遵循双方自愿原则,我们会在能力范围内尽可能提供 smart-mqtt 相关的技术支持。与此同时因时间和精力有限,我们也并不希望由此带来额外的负担,影响到项目的正常迭代。
所以,如有疑问尽量通过 ISSUE 交流,或者通过 ISSUE 和官方文档自助寻找答案,还望理解~~


