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、 版本更新
在 2023 年的最后一个版本中,smart-mqtt 将 Qos0 消息的 TPS 由 350W/s 提升至 600W/s。
作为 2024 年的第一个版本,600W/s 这个数值再次被刷新,达到了惊人的 670W/s,提升幅度超过 10% 。
此外,在这个版本中我们引入了版本检测功能,帮助用户主动感知新版本发布。
更新内容:
优化消息总线 Consumer 的接口设计。
临时性事件类型执行完毕后自动销毁订阅者。
提升事件总线的执行性能。
BrokerTopic 增加可用性状态量。
增加遗嘱消息配置的合法性校验
提升通信性能。
加入新版本检测功能,及时获得最新动态。
smart-socket 升级至 1.5.41
smart-http 升级至 1.3.8
3、性能测试报告
场景一:
10 个 publisher 每隔 1 毫秒发送 payload 为 128 字节的消息,这些消息分布在 128 种 topic 下,有 2000 个 subscriber 订阅这些 topic 的消息。
smart-mqtt v0.33 smart-mqtt v0.34 smart-mqtt v0.35
QoS0 350W/s 600W/s 670W/s
QoS1 220W/s 280W/s 320W/s
QoS2 110W/s 150w/s 180W/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
源码
主仓库:https://gitee.com/smartboot/smart-mqtt
镜像同步:https://github.com/smartboot/smart-mqtt
产品手册:https://smartboot.gitee.io/smart-mqtt/enterprise.html