MQTT与HTTP协议的区别:
MQTT以数据为中心,而HTTP是以文档为中心的。
HTTP是用于客户端-服务器计算的请求-响应协议,并不总是针对移动设备进行优化。
MQTT在这些术语中的主要优点是轻量级(MQTT将数据作为字节数组传输)和发布订阅模型,这使其非常适合资源受限的设备并有助于节省带宽。
**
HTTP的使用受限:
1.实现成本较高、实时性差
=>原因:设备主动向服务器发送数据,难以主动向设备推送数据,如果只是单方面的数据采集还是勉强够用。
但对于频繁的操控场景只能通过对定期的主动拉取数据。实时性将大打折扣
2.安全性不高 HTTP明文协议 HTTPS
=>原因:http是一个明文协议,在要求高的物联网场景中后果不堪设想
3.设备受限性
=>原因:对于物联网场景的设备多样化,有运算和存储都十分受限的设备,http协议实现对xml和json的解析几乎都不可能实现 不同的终端设备 手机、电脑 XML/JSON解析
MQTT的优势
低协议开销对不稳定网络的容忍、低功耗
数百万个设备的连接、推送通知、客户端平台差异、防火墙容错1.采用代理通信的方式
1、MQTT采用的是代理通讯的方式
2、发布订阅者模式
发布者
服务器 中间消息处理(代理) MQTT Broker
订阅者
工作原理:发布者可以将消息如 “你好” 发送到服务器中的一个主题,这个主题可以叫任何名称比如“hello”,如果订阅者订阅了这个主题他就可以收到发布者的消息
发布订阅者模式解耦了发布消息的客户与订阅消息客户之间的关系