1、smart-mqtt 简介
随着物联网技术的发展,越来越多的企业开始重视物联网领域的开发和应用。但是,如何搭建稳定、可靠的物联网服务,是众多企业面临的难题。
smart-mqtt,是smartboot组织下面向物联网的首款解决方案,它使用Java语言开发,提供高效、可靠的MQTT Broker服务。
与其他类似的MQTT解决方案相比,smart-mqtt的主要优点在于其高度可扩展性和高效性。通过引入自研通信框架 smart-socket,利用异步非阻塞I/O操作实现高效的消息传递。同时,smart-mqtt 还支持集群部署,可以轻松应对高并发的消息传递和数据处理。
另外,smart-mqtt还提供了完善的监控和管理功能,可以帮助企业更好地管理和维护物联网服务。管理员可以通过smart-mqtt的管理系统实时监控消息服务器、客户端、主题等信息,为企业提供更精细的管理服务。
总的来说,smart-mqtt是一款针对性强、性能优异、易用性高的MQTT Broker服务。无论企业是从零开始搭建物联网系统,还是想要升级现有应用,smart-mqtt 都是一款可靠的选择。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发布了v0.16版本,在性能方面有了显著的提升,这对于用户来说是非常有吸引力的,相交同类产品也是极具竞争力的。然而,为了充分发挥Broker服务的性能,我们进行了一次几乎是“破坏性”的重构。虽然对性能的提升产生了积极的作用,但同时也缺失了部分服务可靠性。
为了弥补这些可靠性问题,我们决定从smart-mqtt v0.17版本开始,通过几个小版本的迭代,对内部代码进行更详细的测试和评估,以确保系统的稳定运行。
本次更新内容:
通过引入smart-socket的插件化机制,以更低的性能损耗实现消息超时重发。
修复此前版本引入的topic取消订阅不生效的bug。
网络断开连接后即时中断消息推送,减少不必要的尝试。
MQTT Client 的topic订阅与取消订阅请求纳入飞行队列管理。
重构部分消息模型。
重构飞行队列,提供更加完善的Push能力。
更合理的日志输出。
3、性能测试报告
| |
smart-mqtt |
emqx |
| QoS0 |
150W/s |
18W/s |
| QoS1 |
97W/s |
18W/s |
| QoS2 |
70W/s |
17W/s |
2000个publisher每隔1毫秒发送10个payload为128字节的消息,这些消息分布在128种topic下。
| |
smart-mqtt |
emqx |
| QoS0 |
26W/s |
19W/s |
| QoS1 |
23W/s |
8W/s |
| QoS2 |
24W/s |
6W/s |
因为不了解emq的调优策略,测试过程或许存在不公平因素,结果仅供参考。
另外,这次发布的依旧是一个阶段性版本,其中可能存在一些其他小问题,所以暂时不推荐生产使用。
4、如何获取 smart-mqtt
4.1 源码
4.2 Maven依赖
<dependency>
<groupId>org.smartboot.mqtt</groupId>
<artifactId>smart-mqtt-broker</artifactId>
<version>0.17</version>
</dependency>
<dependency>
<groupId>org.smartboot.mqtt</groupId>
<artifactId>smart-mqtt-client</artifactId>
<version>0.17</version>
</dependency>
4.3 发行包
5. 关于 smart-mqtt 企业版
smart-mqtt 目前是由个人开发者在业余时间维护,暂无提供商业化服务的计划。
出于项目的可持续发展需要,我们在 smart-mqtt 社区版的基础上,丰富了一些企业级功能。如果贵公司认可 smart-mqtt 的价值,可以通过成为赞助商获得企业版授权。
功能特性
企业版 License 认证。授权过期将无法启动服务,但并不会因授权过期影响正在运行的 Broker。
MQTT over WebSocket。
Broker 集群部署。
管理后台
ChatGPT OpenAPI插件
指标数据持久化(H2、MySQL)
未完待续...
赞助商等级
| |
青铜赞助商 |
白银赞助商 |
黄金赞助商 |
铂金赞助商 |
| 赞助条件 |
加入企业支持计划 |
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/issues