您现在的位置是:首页 > 文章详情

🎉 smart-mqtt v0.16 发布,可靠的物联网解决方案

日期:2023-03-20点击:712

1、smart-mqtt 简介

smart-mqtt 是用 java 语言开发的 MQTT Broker 服务,也是 smartboot 组织下首款真正意义上面向物联网的解决方案。旨在帮助企业以较低的成本快速搭建稳定、可靠的物联网服务,助力万物互联互通。

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 的QoS_2性能如何?

此前通过自研的压测工具仅仅试验了QoS_0,且性能表现非常良好,从而下意识认为Qos_2的性能表现理论上会是QoS_0的四分之一。

然而现实情况却是Qos_0轻松破百万,Qos_2连破10万都很艰难。再一次被经验主义狠狠打脸了。

历经数周的推敲和重构,smart-mqtt终于在性能上有了新的突破。实测效果如下:

  • 场景一:
    10个publisher每隔1毫秒发送payload为128字节的消息,这些消息分布在128种topic下,有2000个subscriber订阅这些topic的消息。

  smart-mqtt emqx
QoS0 120W/s 17W/s
QoS1 140W/s 17W/s
QoS2 90W/s 17W/s
  • 场景二:

2000个publisher每隔1毫秒发送10个payload为128字节的消息,这些消息分布在128种topic下。

  smart-mqtt emqx
QoS0 26W/s 19W/s
QoS1 30W/s 9W/s
QoS2 28W/s 6W/s

因为不了解emq的调优策略,测试过程或许存在不公平因素,结果仅供参考。

另外,这次发布的是一个阶段性版本,我们主要为了攻克性能方面的挑战。其中可能存在一些其他小问题,所以暂时不推荐生产使用

本次更新内容

  1. 优化 docker-compose.yml 配置,提升压测体验。

  2. 简化客户端连接空闲超时处理逻辑,节省内存开销。

  3. 显式管理 openAPI 服务的线程资源。

  4. 提升IO的flush效率。

  5. 调整内存消息队列的消费模式:当订阅者消费过慢导致消息被发布者覆盖,将直接跳跃至最新一条。

  6. 简化消息的 Push 模型,并获得大幅的性能提升。

  7. 暂时移除消息重发策略,会在后续版本中重构。

  8. 缩小 MQTT Client 消息发送的锁粒度,提升通信效率。

  9. 重构飞行队列,在高并发场景下能显著节省内存开销。

  10. 其他关于内存和性能的细节优化。

3、如何获取 smart-mqtt

3.1 源码

3.2 Maven依赖

  • mqtt broker

 <dependency> <groupId>org.smartboot.mqtt</groupId> <artifactId>smart-mqtt-broker</artifactId> <version>0.16</version> </dependency> 
  • mqtt client

 <dependency> <groupId>org.smartboot.mqtt</groupId> <artifactId>smart-mqtt-client</artifactId> <version>0.16</version> </dependency> 

3.3 发行包

4. 关于 smart-mqtt 企业版

smart-mqtt 目前是由个人开发者在业余时间维护,暂无提供商业化服务的计划。

出于项目的可持续发展需要,我们在 smart-mqtt 社区版的基础上,丰富了一些企业级功能。如果贵公司认可 smart-mqtt 的价值,可以通过成为赞助商获得企业版授权。

功能特性

  1. 企业版 License 认证。授权过期将无法启动服务,但并不会因授权过期影响正在运行的 Broker。

  2. MQTT over WebSocket。

  3. Broker 集群部署。

  4. 管理后台

  5. ChatGPT OpenAPI插件

  6. 指标数据持久化(H2、MySQL)

  7. 未完待续...

赞助商等级

  青铜赞助商 白银赞助商 黄金赞助商 铂金赞助商
赞助条件 加入企业支持计划 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/issues

原文链接:https://www.oschina.net/news/233255/smart-mqtt-0-16-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章