🎉smart-mqtt v0.24 发布,做最好的 Java 物联网平台底座
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
-
升级smart-http至1.2.6
-
增加broker启动时关于技术支持联系方式的露出。
-
移除开源版中的前端资源,迁移至企业版。
企业版
-
增加按省份维度的访问量排名统计。
-
提供更加高效,且自适应采样粒度的指标统计功能。
-
企业版的主数据库调整为mysql,依旧保留h2的开箱即用特性。
-
屏蔽服务启动时的DDL语句打印。
-
优化数据库索引,提供更高效的检索体验。
-
丰富集群间的关键信息互通。
-
修复非周期性指标在入库时被重置的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 源码
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。
-
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 和官方文档自助寻找答案,还望理解~~

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
橙单低代码 v2.9 发布,多租户集成工作流和报表并换装新 UI
新版功能 感谢有 20+ 设计经验的一流设计师,帮助我们换装新版 UI。也感谢用户们耐心的等待和支持,相信橙单团队一定会让多租户支持 工作流、在线表单和报表打印 等平台化功能。在 2.9 版本我们兑现了承诺,不仅如此,橙单低代码生成工具更是能让多租户平台的开发如虎添翼,80% 的前后端代码 (绝非单表 CURD) 我们均能为您生成。如果有兴趣可以访问我们为您提供的多租户演示网站。 前端,全新的样式设计上线。 多租户,集成在线表单。 多租户,集成工作流。 多租户,集成报表打印。 多租户,支持动态多数据源。 多租户,数据同步服务优化后合并。 工作流,支持钉钉风格流程编辑器,目前已同时支持两种高颜值流程编辑器。 工作流,流程工单编号字段,升级为高可靠性的自动编码规则计算处理方式。 基础架构,在线表单、工作流和报表打印等编辑器的 UI 做了进一步的优化和统一。 基础架构,升级自动编码规则计算的高可靠性处理。 生成器,支持可生成 common-flow-online 和 common-report 位于独立的服务。 图和真相
- 下一篇
FastCFS V4.2.0 发布,基于块存储的通用分布式文件系统
FastCFS V4.2.0 已经发布,基于块存储的通用分布式文件系统。 主要改进: 写盘支持direct io模式(默认不开启); 写盘线程采用有序队列,提升性能的同时可以最大程度保证顺序写; 5个bug修复。 修复的bug如下: bugfixed: calculate path_info->trunk_stat.used correctly fcfs_api_statvfs: unify avail and free space bugfixed: MUST persist fi->oper.additional_gids.list for future usage load redo logs filter records strictly slice_dedup_redo MUST match caller 强烈建议大家升级到最新的V4.2,server端和client端都要升级。 详情查看:https://gitee.com/fastdfs100/FastCFS/releases/V4.2.0
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- CentOS关闭SELinux安全模块
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8