smart-mqtt v0.19最新版本实现消息重发规范,提升通讯可靠性

1、smart-mqtt 简介

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

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

alt

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最新版本已经实现了消息重发的规范。这一重要改进将大大提高通讯可靠性,确保在不稳定的网络环境中,消息能够准确无误地传递到目标设备。

在之前的版本中,smart-mqtt在面对网络波动或设备掉线时,可能会出现消息丢失的情况,这将对用户体验造成很大影响。为解决这个问题,我们采用了MQTT协议中的消息重发规范,确保每条消息都能够成功发送。

1. 什么是消息重发规范?

消息重发规范是指在消息传输过程中,当发送方在规定的时间内没有收到接收方的确认消息时,将自动重新发送该条消息。这一规范的实现需要在发送方和接收方之间建立一个有效的确认机制,保证消息传输的可靠性。

2. 为什么消息重发规范如此重要?

在物联网和智能设备领域,消息的实时性和准确性至关重要。设想一下,如果你的智能家居系统在执行关灯操作时,由于网络原因导致关灯指令没有成功发送,那么这将直接影响到用户的使用体验。通过实现消息重发规范,我们可以确保即使在不稳定的网络环境中,指令也能够准确无误地传递给目标设备,从而提高整个系统的通讯可靠性。

3. smart-mqtt如何实现消息重发规范?

在smart-mqtt的最新版本中,我们对消息重发规范进行了如下实现:

  • 发送方在发送消息时,会为每条消息分配一个唯一的ID,并将此ID与消息一起发送给接收方。
  • 接收方收到消息后,会发送一个确认消息给发送方,确认消息中包含了收到的消息ID。
  • 发送方在收到接收方的确认消息后,会将对应的消息从重发队列中移除。
  • 如果发送方在规定的时间内没有收到接收方的确认消息,那么发送方会重新发送该条消息,直到收到确认消息为止。

通过这一机制,我们确保了smart-mqtt在面对网络波动或设备掉线等情况时,仍能够保持高度的通讯可靠性。

3、性能测试报告

  • 场景一:
    10个publisher每隔1毫秒发送payload为128字节的消息,这些消息分布在128种topic下,有2000个subscriber订阅这些topic的消息。
smart-mqttemqx
QoS0159W/s18W/s
QoS1105W/s18W/s
QoS270W/s17W/s
  • 场景二:

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

smart-mqttemqx
QoS026W/s19W/s
QoS123W/s8W/s
QoS224W/s6W/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.19</version>
</dependency>
  • mqtt client
  <dependency>
      <groupId>org.smartboot.mqtt</groupId>
      <artifactId>smart-mqtt-client</artifactId>
      <version>0.19</version>
  </dependency>

4.3 发行包

  • 社区版
    打开浏览器访问: https://gitee.com/smartboot/smart-mqtt/releases下载最新版。
  • 企业版
    成为项目赞助商,单独提供发行包(具体见下文)。

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/issues

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/13013.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

社交泛娱乐出海如何抓住AIGC?我在融云WICC上看到了答案

大模型掀起的AIGC时代&#xff0c;所有企业的所有业务与产品都值得利用大模型技术重做一遍&#xff0c;接下来也将有越来越多依托AIGC技术的创新应用涌现。关注【融云全球互联网通信云】了解更多 在社交泛娱乐赛道&#xff0c;AI大模型技术也呈现出了加速落地的态势。日前&…

选型最佳实践|从业务场景分析直播SDK

摘要 近两年即时通讯/直播产品炙手可热&#xff0c;市场上针对ToB的产品日益增多&#xff0c;企业该如何去选型呢&#xff1f;本文分享了笔者对于直播产品的思考&#xff0c;将从直播SDK实例功能特性、常见业务场景、注意事项及最佳实践等方面介绍如何进行实例选型&#xff0c;…

个性化对话模型及知识库:自有数据在LLM上的应用方案整理

原文&#xff1a;个性化对话模型及知识库&#xff1a;自有数据在LLM上的应用方案整理 - 知乎 最近的这几个月&#xff0c;AIGC场景的模型与应用开始大量涌现。其中LLM&#xff08;Large Language Models&#xff0c;大语言模型&#xff09;&#xff0c;所展现出来的自然语言理…

最新ChatGPT GPT-4 文本生成技术详解(附ipynb与python源码及视频讲解)——开源DataWhale发布入门ChatGPT技术新手从0到1必备使用指南手册(三)

目录 前言最新ChatGPT GPT-4 文本生成技术详解1 引言2 文本摘要任务2.1 什么是文本摘要&#xff1f;2.2 常见的文本摘要技术2.3 基于OpenAI接口的文本摘要实验2.3.1 简单上手版&#xff1a;调用预训练模型2.3.2 进阶优化版&#xff1a;基于自定义语料fine tune 3 文本纠错任务3…

ChatGPT能解决部分就业问题,平台化服务迅速涌现 | CCF C³@滴滴

杨净 整理自 凹非寺量子位 | 公众号 QbitAI 我对城市大脑的前景高度怀疑。 城市道路交通就像安卓平台&#xff0c;生态参与方很多。 ChatGPT时代平台化服务会迅速涌现&#xff0c;某种程度上解决了一部分就业问题。 …… 在最新CCF C活动现场&#xff0c;30余位学者专家来到滴滴…

ChatGPT 3.5/4 双双升级:更长,更便宜,更开放,更可控

OpenAI 今年早些时候发布了 gpt-3.5-turbo 和 gpt-4&#xff0c;并且在短短几个月内&#xff0c;开发者在这些模型上开发了很多令人印象深刻的应用。 6月13日&#xff0c; OpenAI 官宣了版本更新的内容&#xff1a; Chat Completions API 中新增了函数调用功能。更可控的 gpt-4…

ChatGPT提高你日常工作的五个特点,以及如何使用它来提高代码质量

ChatGPT已经完全改变了代码开发模式。然而&#xff0c;大多数软件开发者和数据专家们仍然不使用ChatGPT来完善——并简化他们的工作。 这就是我们在这里列出提升日常工作效率和质量的5个不同的特点的原因。 让我们一起来看看在日常工作中如何使用他们。 警告&#xff1a;不要…

ChatGPT 数据集之谜

ChatGPT这把火越烧越旺。国内很多大厂相继声称要做中文版ChatGPT&#xff0c;还公布了上线时间表&#xff0c;不少科技圈已功成名就的大佬也按捺不住&#xff0c;携巨资下场&#xff0c;要创建“中国版OpenAI“。 不过&#xff0c;看看过去半个月在群众眼里稍显窘迫的Meta的Gal…

透过ChatGPT的进化足迹,OpenAI传达了哪些信号?

古希腊神话中&#xff0c;一位名叫赫尔墨斯的神&#xff0c;会充当人神之间的信使&#xff0c;穿着带有双翼的飞鞋&#xff0c;行走在神明与人类之间。 根据《荷马史诗》的记载&#xff1a;“在天神中&#xff0c;赫尔墨斯是最喜欢引导凡人前行的。”这句话用来形容OpenAI与AI的…

炸裂——关于Azure OpenAI的几个更新

感觉好久没有写随笔了&#xff0c;虽然从年初至今&#xff0c;一直被持续不断涌现的新 AI 消息震惊&#xff0c;也一直不断组织和参与各种 AI 相关的活动、直播&#xff0c;但确实挺久没有写文字了。今天是下半年的第一天&#xff0c;也是暑假的第一天&#xff0c;忙完家务&…

腾讯员工痛诉:从阿里来的同事秀“内卷”

推荐专门分享AI技术的公众号 关注后&#xff0c;回复&#xff1a;ChatGPT &#xff0c;领取账号 来源丨蚂蚁大喇叭 https://mp.weixin.qq.com/s/DblmMOXYQ7yHE_NbhaGoCA 反内卷&#xff0c;你该反的是你周围的“卷王”同事&#xff01; 最近大厂员工手撕领导&#xff0c;反内卷…

为什么是毫末智行成为了DriveGPT的破壁人?

作者 | 魏启扬 来源 | 洞见新研社 毫末智行有着天生的紧迫感。 很多科技公司一年才举办一次的品牌日活动&#xff0c;毫末智行硬是办成了一个季度一次&#xff0c;活动频次的提高&#xff0c;则意味着组织内部新陈代谢的提速&#xff0c;从研发到落地乃至运营&#xff0c;都要…

有了数据湖,数据仓库究竟能不能被取代?

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 数据湖是近两年中比较新的技术在大数据领域中&#xff0c;对于一个真正的数据湖应该是什么样子&#xff0c;现在对数据湖认知还是…

DriveGPT自动驾驶大模型中国玩家首发!1200亿参数,毫末智行出品

贾浩楠 发自 凹非寺量子位 | 公众号 QbitAI 早知道会有这一天&#xff0c;但没想到如此快&#xff1a; GPT技术&#xff0c;“上车”&#xff01; DriveGPT&#xff0c;首个应用GPT模型和技术逻辑的自动驾驶算法模型&#xff0c;正式官宣&#xff0c;中文名雪湖海若。 可能你已…

写个AI虚拟主播:看懂弹幕,妙语连珠,悲欢形于色,以一种简单的实现

这不是你期望的介绍深度学习大模型的文章。而是使用人人都能理解、编程、运行的简单技术&#xff08;包括机器学习和非机器学习技术&#xff09;&#xff0c;通过一系列工程进行整合、组装&#xff0c;从而实现一个 AI 虚拟主播的故事。 muvtuber 让 AI 成为虚拟主播&#xff…

chatgpt赋能python:Python遍历-一种高效的数据处理技术

Python 遍历 - 一种高效的数据处理技术 对于程序员来说&#xff0c;数据处理是一个常见的任务。而在处理数据时&#xff0c;遍历是最常用的技术之一。Python 是一种强大的编程语言&#xff0c;它提供了很多用于数据遍历的工具和函数。在本文中&#xff0c;我们将介绍 Python 中…

ChatGpt输出结果时,文字中间有一根长长的删除线标记是什么意思?(ChatGpt删除线标记)

如图&#xff0c;这根删除线的含义是&#xff1a; 表示该文字不可信或是不准确的&#xff0c;建议仔细核实其内容。 这是系统为了提醒用户注意文字中可能存在的错误&#xff0c;避免对实际操作产生误导。

Stack Overflow 临时禁用 ChatGPT 生成内容,网友:人类和AI快打起来!

如果有一天我们查询到的「知识」真假难辨&#xff0c;那这就太可怕了。 要问最近 AI 圈哪个模型最火爆&#xff0c;你不得不把 OpenAI 推出的 ChatGPT 排在前面。自从发布以来&#xff0c;这个对话模型可谓是出尽风头&#xff0c;很多人更是对其产生了一百个新玩法&#xff0c;…

chatgpt开发内核定时器模块的完整过程

描述任务需求后&#xff0c;几乎在同一时刻chatgpt给出响应&#xff0c;开始进入代码刷屏模式&#xff0c;coding过程中还不忘给代码添加注释。 要求它顺便将Makefile文件写好提供给我&#xff0c;刷完代码后&#xff0c;进跟着开始刷Makefie文件&#xff1a; 编译生成的代码时…

MyBatisX插件没有出现蓝色鸟

如题&#xff0c;新版1.5.~的MyBatisX插件下载后&#xff0c;只有xml文件前出现红色鸟&#xff0c;对应的mapper接口中没有蓝色鸟。 解决办法&#xff1a;在idea中卸载掉该插件&#xff0c;加入插件页面中给出的qq群号&#xff0c;去群文件里下载1.4版本的压缩包&#xff0c;并…