🎉smart-mqtt v0.17 发布,性能和可靠性双提升,带您飞入物联网世界!
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、性能测试报告
场景一:
10个publisher每隔1毫秒发送payload为128字节的消息,这些消息分布在128种topic下,有2000个subscriber订阅这些topic的消息。
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依赖
mqtt broker
<dependency> <groupId>org.smartboot.mqtt</groupId> <artifactId>smart-mqtt-broker</artifactId> <version>0.17</version> </dependency>
mqtt client
<dependency> <groupId>org.smartboot.mqtt</groupId> <artifactId>smart-mqtt-client</artifactId> <version>0.17</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 集群部署。
管理后台
ChatGPT OpenAPI插件
指标数据持久化(H2、MySQL)
未完待续...
赞助商等级
青铜赞助商 | 白银赞助商 | 黄金赞助商 | 铂金赞助商 | |
---|---|---|---|---|
赞助条件 | 加入企业支持计划 | 500元/年 | 1500元/年 | 5000元/年 |
License有效期 | 1年 | 1年 | 1 年 | 1年 |
部署指导 | - | 1次 | 1次 | 不限次数 |
Logo展示位 | - | 小号 | 中号 | 大号 |
首页Logo展示 | - | - | - | ✅ |
技术支持 | 文档 | 邮件/ISSUE | 微信/QQ/邮件 | 微信/QQ/邮件 |
白银赞助商的价值:
成本:500元/年,相当于一名初中级程序员一天的薪资。
产出效益:
增加品牌曝光率。
节省投入在 Sass云服务中的巨额资费。
结交更多物联网领域的从业者。
成为赞助商遵循双方自愿原则,我们会在能力范围内尽可能提供 smart-mqtt 相关的技术支持。与此同时因时间和精力有限,我们也并不希望由此带来额外的负担,影响到项目的正常迭代。
所以,如有疑问尽量通过 ISSUE 交流,或者通过 ISSUE 和官方文档自助寻找答案,还望理解~~

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
建木在 Rainbond 上使用实践
建木 是一个面向 DevOps 领域的极易扩展的开源无代码(图形化)/低代码(GitOps)工具,可以帮助用户轻松编排各种DevOps流程并分发到不同平台执行。 建木的图形化编排提供了多个节点,节点可以定义该步骤要执行的操作,用户可通过多个节点自由组合流水线。Rainbond 社区参与了建木节点的开发并贡献了 Rainbond组件创建与持续部署 节点。用户可使用该节点在 Rainbond 中自动创建组件和持续部署组件。 建木应用的部署则可以通过 Rainbond 开源应用商店一键安装,使建木应用的部署更简单,同时也可以作为应用插件扩展 Rainbond 构建体系。 下图是最终要实现的效果,也是建木的图形化流水线配置,本文将以下图的流程为例进行介绍: 克隆项目源代码 使用 Maven 构建项目 构建 Docker 镜像 在 Rainbond 上自动创建组件并部署 部署 Rainbond 与建木 Rainbond 部署 Rainbond 是一个云原生应用管理平台,使用简单,不需要懂容器、Kubernetes和底层复杂技术,支持管理多个Kubernetes集群,和管理企业应用全生命周期。 可...
- 下一篇
UJCMS 6.0.2 发布,国内开源 Java CMS
此次更新增加了极为重要的模板文件管理、上传文件管理、HTML文件管理功能。模板文件管理可以让管理员在后台修改模板,控制网站页面的显示内容,让网站管理更便捷。 另外新增了Tag功能、站内推送功能(多栏目发布)、站群推送等功能。 后台前端代码完善了ESLint的配置,修改了代码风格。 升级日志(6.0.2) 新增模板、上传、HTML文件管理功能 新增Tag功能 新增站群推送功能 新增站内推送功能 修复已知BUG 简介 UJCMS 是在 Jspxcms 多年的开发经验上,重新设计开发的 Java 开源内容管理系统 (java cms)。使用 SpringBoot、MyBatis、Shiro、Lucene、FreeMarker、Vue3、ElementPlus2、TypeScript、Vite等技术。针对原系统中的一些痛点问题,进行解决、优化和改进,并使用GPL-2开源协议发布,可免费商用。 技术上选择主流、先进、简单的架构,方便用户进行二次开发。持久化层用 MyBatis 替换了 Hibernate;视图层用前后端分离的 Vue3 替换了 JSP;数据库也进行了重新设计。设计上强调 “简单”...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址