物联网的HTTP和MQTT协议有什么区别 点击:295 | 回复:0



河北蓝蜂科技

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:339帖 | 5回
  • 年度积分:32
  • 历史总积分:718
  • 注册:2020年1月17日
发表于:2022-11-28 17:51:11
楼主

 

一、消息传递方式

MQTT以数据为中心,而HTTP是以文档为中心的。HTTP是用于客户端服务器计算的请求响应协议,并不总是针对移动设备进行优化。MQTT在这些术语中的主要优点是轻量级(MQTT将数据作为字节数组传输)和发布/订阅模型,这使其非常适合资源受限的设备并有助于节省电池此外,发布/订阅模型为客户提供了彼此独立的存在,增强了整个系统的可靠性。当一个客户端出现故障时,整个系统可以继续正常工作。

二、吞吐量

根据3G网络的测量结果,MQTT的吞吐量比HTTP快93倍。

此外,与HTTP相比,MQTT协议确保了高传输保证。

3个级别的服务质量:

– 最多一次:保证尽力交付。

– 至少一次:保证消息至少传送一次。但是消息也可以不止一次传递。

– 恰好一次:保证每个消息只被对方接收一次

因为HTTP 协议的首部(header)比较大,而且每次发送数据都要发送一个数据包来连接/断开TCP,因此发送的数据越多,数据总通信量也就越大;

image.png 

MQTT 的首部比较小,还能在维持TCP 连接的同时,进行下一次数据的收发,所以比起HTTP,它更能抑制数据总通信量。

MQTT还为用户提供Last will&Testament和Retained消息的选项。第一个意味着在客户端意外断开连接的情况下,所有订阅的客户端都将从代理获得消息。保留消息意味着新订阅的客户端将立即获得状态更新。HTTP协议没有这些功能。

三、消息大小

因为MQTT 是通过维持TCP 连接来削减通信量的,所以要是每次进行数据通信都断开TCP 连接MQTT 就会跟HTTP 一样在每次发送数据时都执行连接和断开处理,结果反而会增加通信量。

MQTT具有相当短的规范。只有CONNECT,PUBLISH,SUBSCRIBE,UNSUBSCRIBE和DISCONNECT类型对开发人员很重要。而HTTP规范要长得多。

MQTT具有非常短的消息头,并且最小的包消息大小为2个字节。通过HTTP协议使用文本消息格式允许它组成冗长的标题和消息。它有助于消除麻烦,因为它可以被人类阅读,但同时它对于资源受限的设备是不必要的。

四、总结

MQTT协议易于使用。对于未来的解决方案,响应时间,吞吐量,更低的电池和带宽使用率是第一位的,这一点至关重要。在间歇性连接的情况下,它也是完美的。因为MQTT 是通过维持TCP 连接来削减通信量的,所以要是每次进行数据通信都断开TCP 连接,MQTT 就会跟HTTP 一样在每次发送数据时都执行连接和断开处理,结果反而会增加通信量。HTTP是值得和可扩展的。但是当它被称为IoT开发时,MQTT更适合。

 



楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师