🎉smart-mqtt v0.24 发布,做最好的 Java 物联网平台底座

科技资讯 投稿 13000 0 评论

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相关的所有前端都是采用:layui-vue,这是一款非常优秀的前端框架,对于我这个专注后端研发的人来讲,它能让我轻松通过各种丰富的组件搭建出想要的效果。

然而,自从smart-mqtt开始在企业版功能上发力的时候,遇到了一些技术层面的挑战。当我需要将echarts与layui-vue结合的时候,存在较高的学习、调试成本,并且为了作出想要的效果,echarts相关的配置代码非常冗长。可以预感,以我这半吊子的前端水准,后续将会难以维护这个工程。

之后又尝试在社区寻找好用的前端低代码解决方案,却都不如人意。反倒无意中发现一款华为开源的前端框架:opentiny。这款框架已经与 echarts 做了非常好的融合,我只需要向其输入特定格式的数据,无需操心样式相关问题。虽然在某些细节方面还有待完善,但当下对 smart-mqtt 而言是个值得尝试的选择。

现在,我们一起来欣赏下调整后的页面视图。

    集群看板:顶部每个tab标签代表集群中的一个节点,主体部分露出了各节点的基础信息,包括:

      smart-mqtt版本号

    • JVM版本

    • 服务启动时间

    • 企业版授权效期

    • CPU、内存指标

    • 当前客户端连接数、Topic数量和订阅量

    区域地图:展示了过去一段时期内与smart-mqtt broker建立过连接的各省份连接数。

    指标趋势图

现阶段只实现了上述内容,更多的功能正在抓紧研发中,敬请期待!

更新内容

开源版

    升级smart-socket至1.5.31

  1. 升级smart-http至1.2.6

  2. 增加broker启动时关于技术支持联系方式的露出。

  3. 移除开源版中的前端资源,迁移至企业版。

企业版

    增加按省份维度的访问量排名统计。

  1. 提供更加高效,且自适应采样粒度的指标统计功能。

  2. 企业版的主数据库调整为mysql,依旧保留h2的开箱即用特性。

  3. 屏蔽服务启动时的DDL语句打印。

  4. 优化数据库索引,提供更高效的检索体验。

  5. 丰富集群间的关键信息互通。

  6. 修复非周期性指标在入库时被重置的bug。

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.24</version> </dependency>

    mqtt client

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

4.3 发行包

    社区版
    打开浏览器访问:https://gitee.com/smartboot/smart-mqtt/releases下载最新版。

  • 企业版
    成为项目赞助商,单独提供发行包(具体见下文)。

5. 关于 smart-mqtt 企业版

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

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

功能特性

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

  1. MQTT over WebSocket。

  2. Broker 集群部署。

  3. 管理后台

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

  5. 未完待续..。

赞助商等级

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

基于 NT 架构的全新 QQ Windows 版正式发布 爱奇艺客户端“白嫖”电视机,后台满速上传 美国将限制中国使用亚马逊、微软等提供训练 AI 模型的云服务 2023 年收入最高的技术岗位 资金严重短缺,又一流行开源项目宣布停止功能开发 Threads 注册量已破三千万,后端基于 CPython 深度“魔改” LeaferJS 发布:开源、性能强悍的 2D 图形库 Visual Studio Code 1.80 发布,支持终端图片功能 印度政府成立 6G 联盟,宣布成为 6G 电信技术全球领导者 deepin 采用 Asahi Linux 适配 Apple M1

编程笔记 » 🎉smart-mqtt v0.24 发布,做最好的 Java 物联网平台底座

赞同 (67) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽