




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南科创信息技术股份有限公司 湖南科创信息技术股份有限公司 MQTT培训 主讲 张志强 MQTT培训 2020 4 7 2 1 为什么会有MQTT 2 是怎么推送消息的 内部怎么玩的 3 MQTT与 有什么区别 4 5 培训目录 消息推送MQTT特性MQTT协议剖析哪些MQTT服务端扩展问题 2020 4 7 消息推送 2020 4 7 4 1 什么是消息推送服务器通过一定的技术标准或协议 在互联网上下发消息给物联网Iot设备 让物联网设备可以获取到特定的消息 2 常见的推送方式 3 消息推送方案评价4S标准 做下对比 MQTT历史 MQTT缩写解释MQTTwasinventedbyAndyStanford Clark IBM andArlenNipper Arcom nowCirrusLink backin1999 whentheirusecasewastocreateaprotocolforminimalbatterylossandminimalbandwidth此协议是IBM和一家医院定制开发的一套协议后来开源出来 2020 4 7 MQTT设计的目标 Simpletoimplement很容易实现ProvideaQualityofServiceDataDelivery提供服务质量LightweightandBandwidthEfficient节约电量和带宽DataAgnostic不关心数据ContinuousSessionAwareness会话保存 2020 4 7 MQTT协议特性红色部分后面详细解释 提供发布订阅的消息机制使用TCP IP网络连接对负载内容屏蔽协议不关心负载内容微型传输降低通讯流量固定 个字节的头部LWT机制LastWillandTestamentQos消息发布服务质量 最多一次QoS 0至少一次QoS 1只有一次QoS 2 2020 4 7 发布订阅消息机制 三种角色 2020 4 7 图解发布订阅 2020 4 7 见备注 固定2字节的头部 2020 4 7 固定2字节的头部 2020 4 7 LWT机制遗嘱机制来由 来由 每个MQTT的客户端都可能由于多种不可控制的原因断开与MQTT服务端的连接 有可能MQTT客户端都没有发送DISCONNET指令 想达到不可控的原因断开时也能做某些事情的目的 2020 4 7 正常情况 Client DISCONNET ServerClient 做自己的业务逻辑如上报离线状态Server 更改用户的一个在线状态 LWT解读 2020 4 7 机制解读 每个MQTTClient都可以在连接服务端的时候自定义自己的遗嘱MQTT消息 特定的主题 MQTT服务器将存储此消息 所有订阅此主题的其他MQTTClient都可以在其他客户端异常中断连接的时候收到有服务器发过来的中断连接的客户端的遗嘱消息 DISCONNECT指令并不能带某些信息 见lwtDemo MQTT协议剖析 连接发布订阅取消订阅 2020 4 7 协议剖析 连接 交换 2020 4 7 协议剖析 连接ClientId 连接设备的唯一标识冲突的时候回怎样见clientIdDemo什么场景下可以利用此冲突怎么生成clientId多端情况的考虑设备自己生成但是要考虑设备自身系统升级后ClientId不变服务端根据设备分类与用户信息生成 2020 4 7 MQTT协议剖析 连接cleanSession 是否持久会话 false 代理会保存会话并保存与clientId订阅的主题true 代理会清除会话信息见cleanSessionDemo 2020 4 7 协议剖析 连接 keepAlive MQTT PINGREQ 12 ping请求 MQTT PINGRESP 13 ping响应Thekeepaliveisatimeinterval theclientscommitstobysendingregularPINGRequestmessagestothebroker 2020 4 7 connOpts setKeepAliveInterval keepAliveInterval 协议剖析 发布 2020 4 7 协议剖析 发布 主题topic 主题 是Broker用来消息匹配给那些订阅了主题的客户端的多层级特性通配符特性 单层级 2020 4 7 协议剖析 发布 主题topic 2020 4 7 通配符特性 多层级系统主题 Broker使用的 Client不能用来发布 SYS brokers clients connected 协议剖析 发布 retain flag Thisflagdeterminesifthemessagewillbesavedbythebrokerforthespecifiedtopicaslastknowngoodvalue Newclientsthatsubscribetothattopicwillreceivethelastretainedmessageonthattopicinstantlyaftersubscribing 目的 新的订阅者来了也能收到一份订阅主题下的最新消息见retainDemo 2020 4 7 协议剖析 发布订阅 为什么 由于底层网络是不稳定的 所以如果发布者发了消息接受者可能没有收到消息或可能某种类型的消息在推送时要求一定要被接收者收到 QualityofService QoS 是用来提供消息传递可靠性选择的 MQTT消息是否需要保证被接受者 代理或订阅者 传递一次或多次 Qos是作用在传递消息上的 2020 4 7 最多一次有可能订阅者收不到 2020 4 7 此种交互下为什么接受者收到的消息会 次 订阅者收到消息 1 2020 4 7 此种交互下为什么接受者收到的消息会 次 Q 订阅者只有一次 2020 4 7 怎么做到的 1 2020 4 7 QOS如何选择 速度 0 1 2业务关心 不同的消息类型可能会有不同的Qos不关心消息是否可能丢失的时候0不关心消息是否重复接受并回调的时候1消息收到并只能回调一次的时候2自己再保证以下 2020 4 7 协议剖析 订阅 2020 4 7 协议剖析 取消订阅 2020 4 7 MQTT代理有那些 2020 4 7 代理对比 2020 4 7 http acro 扩展问题 能不能用MQTT去做消息队列 订阅者挂了服务未挂如何处理 2020 4 7 MQTTVS JMS 是一个规范异构系通互通有限MQTT是一个协议异构系统之间互通JMS是异步的消息机制 面向企业级应用 只应用在基于JVM的语言 没有标准的底层协议 在需要跨平台或语言或需要分布式事务的场景下可以使用AMQPMQTT专为小型无声设备之间通过低带宽发送短消息而设计 多应用于物联网设备 协议简单 流量小 计算量小 能耗低适用场景上面MQTT MQMQTT更加的轻量级MQactivieMQjava平台来说更容易进行相关的扩展 2020 4 7 订阅者挂了服务未挂如何处理 挂 订阅者进程挂了 订阅者与Broker之间网络不通了 如中间防火墙屏蔽了1 本地检测 2 服务端系统主题订阅 2020 4 7 注意的坑 clientIdq
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 低能耗反渗透系统设计-洞察及研究
- 区块链跨境贸易应用-洞察及研究
- 心理困境处理方案
- 考研备考中心理调节和应对焦虑的方法
- 北魏平城时代墓室画像:历史映照下的艺术与文化密码
- 创新驱动发展:科技型中小企业在创新型国家建设中的对策研究
- 体外预应力加固T型刚构桥的应用与效果评估:理论、实践与展望
- Al-Er-Zr合金时效析出过程:微观机制与性能关联探究
- 标准化流程设计-洞察及研究
- 拆解废弃物处理流程-洞察及研究
- 光伏站电力监控系统介绍参考课件
- 公开课第一课素描基础入门课件
- 果蔬加工工艺学:果蔬汁
- 门机防腐施工方案
- 定向井井眼轨迹计算课件
- 石景山区语文一模试卷讲评分析
- 酒店企业员工消防防火安全知识培训
- 八年级上学期语文周周练
- 《青光眼手术新进展》ppt课件
- 低压配电室送电方案(共2页)
- 全文解读2021年新修订的《工会法》实用专题PPT讲授课件
评论
0/150
提交评论