最新要闻
- 每日快讯!大明国际(01090):公众持股量约为20.71% 低于上市规则规定的最低规定百分比
- 抗菌透气!蝶安芬四角裤3条39.9元大促
- 每日看点!歼20看爽!国产航空大片《长空之王》今日上映:严查偷漏瞒报票房
- 曾致人死亡 印度再发生火车撞牛事故:工作人员现场拆车头
- 被老人故意推倒摩托车主终获赔偿:强制执行划扣16704元 环球速递
- 淄博大哥免费接送游客被塞钱 网友:双向奔赴-每日消息
- 世界百事通!刚刚!美光宣布:不降价!
- 国家外汇管理局:1-3月,中国外汇市场累计成交60.15万亿元|天天快资讯
- 每日速讯:iPhone 15系列换USB-C接口了!快充感人
- 环球即时:出城大片上演:多地道路拥堵
- 天天热头条丨手机销量大增41%!华为王者归来:一季度营收1321亿 涨了
- 密集落下!实拍北京多地突降冰雹:黑云压城
- 顶流“花花”提前休五一 保安大叔:和叶在值班
- 火车软卧是什么样子的(火车软卧)
- 【环球速看料】柞水终南山寨一日游攻略(终南山寨在什么地方)
- 不靠氪金 价格卷死同行:逆水寒手游开启二测多次冲上热搜:预约超3000万
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
焦点简讯:MQTT-QoS与协议流程
QoS的报文收发流程
QoS 0
最多交付一次,消息有可能丢失,最低的QoS等级,没有任何的机制,不需要等待确认和重传,只要保证消息发送,也可能到达不了接收端
QoS0消息发送流程:
(资料图片)
- 发送端调用API发送消息
- 消息将被拷贝内核层的至发送缓冲区中
- 发送缓冲区的消息会在合适的时机被发送到网络中
- 经过路由跳转以后,消息被接收端的网卡接收,然后消息来到接收端的接收缓冲区
- 接收缓冲区有了消息,接收端的内核层就会通知上层应用读取消息
只有上层应用读取到了消息,消息才算真正到达了接收端,在之前的任意步骤出现网络断开,这些传输消息就会丢失,这也是消息可能丢失的原因
QoS 1
至少交付一次,消息有可能重复,为了解决消息丢失的问题,QoS 1 引入了重传机制
当我们使用QoS 1 消息的时候,每个PUBLISH的报文,都必须有一个接收端的PUBACK的报文作为响应,以确认接收对收到了消息,如果一直没有响应,发送端就会在特定时刻重新发送没有响应的消息,在PUBLISH中需要有Packet ID字段来作为该消息的唯一标识,而PUBACK响应中,也会包含收到消息相同的Packet ID,这样发送端在收到PUBACK报文时,就可以确认是哪条消息到达了
通过QoS 1 的重传机制,我们可以保证消息到达了,但是也不可能避免有了消息重复的可能性
当发送端因为没有收到响应报文重传的时候,可能接收端已经收到了消息并且回复了响应报文,但是响应报文可能因为网络断开等其他原因丢失了,这种情况下发送端再发送消息,接收端就收到了重复消息,虽然发送端在重传发送消息的时候会把DUP设置为1表示这是重传的消息,但是接收端也不能确定自己层级是否接受过该消息,会把消息当全新消息处理
如何为QoS 1 去重
虽然在协议层面我们没办法避免消息的重复,但是可以从业务的层面入手对消息进行去重,一个简单的方法是在每个PUBLISH报文的payload中携带一个时间戳或者单调递增的计数,这样业务层就可以根据时间戳或者计数是否大于上一次收到消息的时间戳or技术,来判断是不是新消息
重传不等于乱序
虽然发生了重传,但是不表示消息会乱序到达,我们发送了A、B、C三条消息,如果是A重传,就是 A、A、B、C ,如果A、B重传,就是A、B、A、B、C等等,不可能出现B、A、C这种情况
QoS 2
仅交付一次,消息不会重复也不会丢失,QoS 2也有这三种模式最复杂的报文交互,想要完成QoS 2的消息传递,最少要完成两次的请求响应流程,带来额外的性能开销
QoS2的报文
PUBLISH
发布报文
PUBREC
PUBLISH和RECEIVE的缩写,表示收到了PUBLISH报文
PUBREL
PUBLISH 和RELEASE的缩写,表示准备释放这次的QoS2消息
PUBCOMP
PUBLISH和COMPLETE的缩写,表示这一次QoS2的消息的发布即将完成
为什么QoS2的报文不会重复
QOS 2 使用PUBLISH和PUBREC报文来保证消息的到达,原理和QoS1一致,新增的PUBREL和PUBCOMP来保证消息不会重复,QoS2规定,发送端只有在收到PUBREC报文之前,才可以重传PUBLISH报文,而一旦收到了PUBREC报文并且发出了PUBREL报文,发送端就进入了Packet ID的释放流程,在收到接收端的PUBCOMP响应之前,发送端既不会使用该Packet ID重传消息,也不能用于发布新的消息,只有收到PUBCOMP响应之后,发送端才可以继续使用这个Packet ID,对于接收端来说,可以以PUBREL为界限,凡是PUBREL之前到达的PUBLISH报文,必然是重复的消息,PUBREL之后到达的消息,全是全新的消息
分发QoS2的消息
如果接收端必须等到QoS2流程结束才能向后分发消息,如果网络不好的情况下,消息的实时性会受到很大影响,所以MQTT允许接收端第一次收到PUBLISH报文的时候,就启动消息的向后分发,一旦分发过之后,后续再收到重传报文,接收端就不能再进行分发操作了,以免消息操作
何时重传消息
在QoS0和Qos1中,都有可能存在消息的重传,这里的重传并不是指超时的重传,在TPC连接内重传消息,并不会带来额外的收益,在网络不佳的情况下,反而可能降低消息的传输效率,也可能导致报文的收发流程异常,所以MQTT要求,只有在每次连接断开重连后,发送端才能重传上一次连接内没有收到响应的消息
不同的QoS的适用场景
QoS 0
- 优点:投递效率高
- 缺点:消息可能丢失
- 适用场景:传输高频且不是那么重要的数据
QoS 1
- 优点:保证消息到达
- 缺点:消息可能重复
- 适用场景:传输较为重要的数据,需要注意业务需要能够处理重复消息,或者能够允许重复消息
QoS 2
- 优点:保证消息到达且不会重复
- 缺点:拥有较高的开销
- 适用场景:传输重要数据,并且能够接受QoS 2带来的额外的开销
关键词:
-
H7-TOOL的CANFD Trace全解析功能制作完成,历时一个月(2023-04-28) 今日看点
为了完成这个功能,差不多耗费了一个月时间,精神状态基本已经被磨平了。当前已经支持:1、LUA小程序控制,
来源: 焦点简讯:MQTT-QoS与协议流程
H7-TOOL的CANFD Trace全解析功能制作完成,历时一个月(2023-04-28) 今日看点
12 Linux的伙伴系统和SLAB分配器
吉林省一季度末绿色贷款余额同比增长28.3%|环球新动态
【新华财经调查】辽沈银行去年置换257亿高息存款 历史包袱仍致29亿亏损
每日快讯!大明国际(01090):公众持股量约为20.71% 低于上市规则规定的最低规定百分比
抗菌透气!蝶安芬四角裤3条39.9元大促
每日看点!歼20看爽!国产航空大片《长空之王》今日上映:严查偷漏瞒报票房
曾致人死亡 印度再发生火车撞牛事故:工作人员现场拆车头
被老人故意推倒摩托车主终获赔偿:强制执行划扣16704元 环球速递
淄博大哥免费接送游客被塞钱 网友:双向奔赴-每日消息
世界百事通!刚刚!美光宣布:不降价!
软件开发所有文档合集下载 全球今亮点
最新资讯:题目 3158: 蓝桥杯2023年第十四届省赛真题-三国游戏(贪心)
美团一面:如何实现一个100W ops 生产者消费者程序?
银河麒麟V10系统安装Redis|环球观点
vue3 + ts + vite 封装 request 每日热议
焦点关注:商品日报(4月28日):黑色系疲软焦煤大跌近4% 红枣收涨近4%
国家外汇管理局:1-3月,中国外汇市场累计成交60.15万亿元|天天快资讯
每日速讯:iPhone 15系列换USB-C接口了!快充感人
环球即时:出城大片上演:多地道路拥堵
天天热头条丨手机销量大增41%!华为王者归来:一季度营收1321亿 涨了
密集落下!实拍北京多地突降冰雹:黑云压城
顶流“花花”提前休五一 保安大叔:和叶在值班
火车软卧是什么样子的(火车软卧)
用 ChatGPT 写代码,效率杠杠的! 实时
一文看懂低代码,5分钟从入门到原理全搞定 环球热文
论并行,并发,同步,异步之间的联系与区别-天天实时
【环球速看料】柞水终南山寨一日游攻略(终南山寨在什么地方)
中信建投国家电投新能源REIT获原始权益人增持3200万份
天天快资讯丨【财经分析】IPv6如何从“能用”转向“好用”“爱用”?
不靠氪金 价格卷死同行:逆水寒手游开启二测多次冲上热搜:预约超3000万
好友田启文爆料周星驰或将于65岁重返大银幕!自导自演、阵容空前-短讯
抗衡奔驰E级 全新宝马5系无伪谍照首曝:大鸡腿档杆成历史
比马斯克的猎鹰还强10倍?俄罗斯自研火箭将可重复使用100次 天天热点
蔚来起诉抖音大V造谣侵权:索赔200万
环球观点:中科氢量平通仪好不好(中科氢量平通仪)
python的绘图工具matplotlib.pyplot-环球报资讯
App Store上架流程/苹果app发布流程 全球快播
当AI遇上AD,腾讯信息流广告行业的智能化营销前景如何?-世界通讯
环球观速讯丨“3nm EUV”工艺稳了 Intel明年上半年出货144核至强处理器:超越Zen4
明天五一!滴滴副总裁李敏:今晚高峰打车不容易 成功率可能不足50%|全球新动态
成都一民宿推出“36元睡客厅躺椅”服务:已被预订一空
环球百事通!100%纯棉!雅鹿男士背心2件只要29元
1L体积塞进电源!联想小新mini主机开启预售:3699元起
轻松脱眉毛下垂的方法是什么
二分查找算法讲解及其C++代码实现 天天聚看点
世界今日报丨相亲成功率100%!技术大佬都在用的SWOT模型【No.3】
当前播报:generate什么意思_generate是什么意思呢
全球关注:特斯拉:不要相信马斯克对自动驾驶的宣传、可能是假的
5月26上映!《小美人鱼》女主全球爆火 黑小美人鱼晒新海报原来这么美? 最新消息
锦州师范学院地址在哪里 锦州师范学院
这两个重载方法,你怎么重构?
民航今天预计发送旅客208万人次
ChatGPT成必备技能!超九成企业想雇佣了解ChatGPT的员工
【全球播资讯】性能提升36%!Surface Laptop 5评测:Windows阵营最精致优雅的轻薄本
搭载全新12代i3八核处理器轻薄本仅2999元!攀升笔记本超级秒杀
手机摆动跳广告判了!大学生起诉美图秀秀获赔1元
视点!国外车主吐槽新特斯拉Model S做工差:对不起这价格
每日快播:华为P60可支持5G了 只要640元
视焦点讯!博弈论入门
定了!“五一”期间,这些行为不予处罚|今日讯
首发6nm天玑8020芯片!荣耀平板V8发布:1799元起
日本东电坚持福岛核污染水排海计划不变:总量约133万吨|全球热资讯
当前看点!40年Microsoft品牌再见!Suface全面接棒微软配件市场
各个大长腿超短裙吸睛:淄博一群175美少女接送游客非官方行为 天天热点评
热门看点:首款百万售价比亚迪!仰望U8动力信息曝光:纯电180km、零百最快3.6s
亚洲有多少个国家?亚洲最好的大学是哪个?亚洲哪个国家最干净?
全球新资讯:无锡口腔医院价格表
进击的巨人真相是什么?进击的巨人最终季大结局
武林外传为什么那么火?武林外传为什么不拍第二部?
为什么这么多人喜欢海绵宝宝?为什么海绵宝宝里的章鱼哥总是不开心?
猫咪为什么不喜欢橘子味?橘猫为什么体型那么大?
qq炫舞炫彩宝石怎么获得?qq炫舞炫彩宝石有什么用?
IM开发干货分享:IM客户端不同版本兼容运行的技术思路和实践总结
简单渗透测试流程-环球观速讯
天天快资讯:AIRIOT助力城市管廊工程,智慧物联守护城市生命线
全球速讯:[Termux]更换Termux源 安装Debian容器并 设置Debian镜像源且 安装code-server(附安卓/APK安装包+下载源+lan
笔记本gt630m相当于什么核显?笔记本GT630M显卡怎么样?
梦幻西游2需要点卡吗?梦幻西游2023新区开服表
IBMThinkPad笔记本电脑怎么一键还原?IBMThinkPad笔记本电脑怎么开机?
岳阳楼下诵经典|全球今日讯
大连市长城宽带DNS是多少?大连市长城宽带资费表
当前观察:硬盘预读参数变化分析
继烧烤后淄博代购也火了:网友都很想去
“五一”假期高速免费五天!提前出发的过省界收费站时注意时间 环球快播报
今日讯!五一这些景点门票已约满:游客注意别跑空
3200RPM超高转速 满速运转还不抖!酷冷至尊莫比乌斯120 OC风扇评测 环球报资讯
科幻工业风!红魔电竞显示器银翼版来了:极窄边框设计 热点评
贵阳市档案馆通过全国示范数字档案馆测试
Linux恢复文件双手锏|全球即时
世界热讯:基于Java开发的数字知识库,支持全文检索、知识图谱和工作流审批,太强大了
微资讯!聊一聊GIS之家团队数据案例源码共享以及在线体验
当前热讯:JasperReports教程_编程入门自学教程_菜鸟教程-免费教程分享
安装Amos结构方程模型分析软件的方法 环球热闻
兴齐眼药去年四季度起利润急降:“近视神药”网售被禁影响显现,正式上市时市场恐已成红海
7项技术行业唯一!vivo X Fold2今日首销:8999元起
五一档票房第一!王一博电影《长空之王》今日上映:歼-20真机硬核亮相_世界热头条
热议:四川瓦屋山首次发现猛禽之王:自然界顶级掠食者 海拔4000米以上活动
60架C919和40架ARJ21!海航豪购100架国产飞机 环球微头条