🎉smart-mqtt v0.20 发布,这些改进让消息传输更可靠!

1、smart-mqtt 简介

smart-mqtt,是 smartboot 组织下面向物联网的首款解决方案,它使用 Java 语言开发,提供高效、可靠的 MQTT Broker 服务。

smart-mqtt 的独特优势在于大量设备接入的情况下,仍能保持低延迟和高吞吐量,满足物联网领域严苛的实时性需求。同时,smart-mqtt 为了最大限度地节省硬件成本,采用了高度优化的资源管理策略,降低了系统运行时的 CPU 和内存占用,使企业在保持高性能的同时,大幅降低运维成本。

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、 版本更新

【社区版】

  1. smart-socket 升级至1.5.27。

  2. snakeyaml 升级至2.0。

  3. 修复了消息编解码过程中的bug,提高消息传输的可靠性。

  4. 优化了消息解码异常触发的状态机,降低误判概率。

  5. 加强了消息编解码字节边界的检验,避免数据解析错误。

  6. 改进了内存管理策略,减少通信过程中的内存消耗。

  7. 修复了MQTT 5.0协议实现中的遗嘱消息和QoS2通信编解码问题。

  8. 对遗嘱消息模型字段进行了优化,提高代码可读性。

  9. 引入社区同学贡献的redis桥接模块,提供更多扩展选项。

  10. 为MQTT Client提供更高效的pulbish能力,提升性能表现。

【企业版】

  1. 补充表结构索引,解决慢sql问题。

  2. 新增账户管理接口

  3. Broker启动时重置旧连接状态。

3、性能测试报告

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

  smart-mqtt emqx
QoS0 159W/s 20W/s
QoS1 105W/s 20W/s
QoS2 70W/s 20W/s
  • 场景二:

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

  smart-mqtt emqx
QoS0 89W/s 43W/s(间歇性不可用)
QoS1 50W/s 9W/s
QoS2 40W/s 6W/s

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

4、如何获取 smart-mqtt

4.1 源码

4.2 Maven 依赖

  • mqtt broker

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

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

4.3 发行包

5. 关于 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/issue

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/241928/smart-mqtt-0-20-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。