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企业版依旧处于孵化器阶段,将为赞助商客户提供2个节点的集群配额。
本次版本发布之际,社区中的数位朋友也慷慨的出借了各自的服务器用于组建smart-mqtt集群,在此表示衷心的感谢。
【社区版】
-
禁止客户端匹配 ”$“ 开头的主题名。
-
BrokerContext新增
bundle
、getBundle
用于绑定自定义资源。 -
Broker服务的线程池、内存池支持资源复用。
-
优化Broker端的消息推送模型。
-
提升MqttClient通信服务稳定性。
-
smart-http升级至1.2.4
【企业版】
-
移除redis-bridge-plugin模块,将于开源之夏活动中由社区同学贡献开源版。
-
移除mqtt-bridge-plugin模块。
-
优化指标统计
3、性能测试报告
-
场景一:
10 个 publisher 每隔 1 毫秒发送 payload 为 128 字节的消息,这些消息分布在 128 种 topic 下,有 2000 个 subscriber 订阅这些 topic 的消息。
smart-mqtt | emqx | |
---|---|---|
QoS0 | 240W/s | 25W/s |
QoS1 | 100W/s | 25W/s |
QoS2 | 50W/s | 25W/s |
-
场景二:
2000 个 publisher 每隔 1 毫秒发送 10 个 payload 为 128 字节的消息,这些消息分布在 128 种 topic 下。
smart-mqtt | emqx | |
---|---|---|
QoS0 | 89W/s | 50W/s (间歇性不可用) |
QoS1 | 50W/s | 9W/s |
QoS2 | 40W/s | 6.8W/s |
因为不了解 emq 的调优策略,测试过程或许存在不公平因素,结果仅供参考。
4、如何获取 smart-mqtt
4.1 源码
-
主仓库:https://gitee.com/smartboot/smart-mqtt
-
镜像同步:https://github.com/smartboot/smart-mqtt
4.2 Maven 依赖
-
mqtt broker
<dependency> <groupId>org.smartboot.mqtt</groupId> <artifactId>smart-mqtt-broker</artifactId> <version>0.22</version> </dependency>
-
mqtt client
<dependency> <groupId>org.smartboot.mqtt</groupId> <artifactId>smart-mqtt-client</artifactId> <version>0.22</version> </dependency>
4.3 发行包
-
社区版
打开浏览器访问:https://gitee.com/smartboot/smart-mqtt/releases
下载最新版。 -
企业版
成为项目赞助商,单独提供发行包(具体见下文)。
5. 关于 smart-mqtt 企业版
smart-mqtt 目前是由个人开发者在业余时间维护,暂无提供商业化服务的计划。
出于项目的可持续发展需要,我们在 smart-mqtt 社区版的基础上,丰富了一些企业级功能。如果贵公司认可 smart-mqtt 的价值,可以通过成为赞助商获得企业版授权。
功能特性
-
企业版 License 认证。授权过期将无法启动服务,但并不会因授权过期影响正在运行的 Broker。
-
MQTT over WebSocket。
-
Broker 集群部署。
-
管理后台
-
指标数据持久化(H2、MySQL)
-
未完待续...
赞助商等级
青铜赞助商 | 白银赞助商 | 黄金赞助商 | 铂金赞助商 | |
---|---|---|---|---|
赞助条件 | 加入企业支持计划 | 500 元 / 年 | 1500 元 / 年 | 5000 元 / 年 |
License 有效期 | 1 年 | 1 年 | 1 年 | 1 年 |
部署指导 | - | 1 次 | 1 次 | 不限次数 |
Logo 展示位 | - | 小号 | 中号 | 大号 |
首页 Logo 展示 | - | - | - | ✅ |
技术支持 | 文档 | 邮件 /ISSUE | 微信 / QQ / 邮件 | 微信 / QQ / 邮件 |
白银赞助商的价值:
成本:500 元 / 年,相当于一名初中级程序员一天的薪资。
产出效益:
增加品牌曝光率。
节省投入在 Sass 云服务中的巨额资费。
结交更多物联网领域的从业者。
成为赞助商遵循双方自愿原则,我们会在能力范围内尽可能提供 smart-mqtt 相关的技术支持。与此同时因时间和精力有限,我们也并不希望由此带来额外的负担,影响到项目的正常迭代。
所以,如有疑问尽量通过 ISSUE 交流,或者通过 ISSUE 和官方文档自助寻找答案,还望理解~~
ISSUE:?https://gitee.com/smartboot/smart-mqtt/issue
还没有评论,来说两句吧...