时间:2020-12-21 作者:众山科技
HTTP是应用最为广泛和流行的协议。但是MQTT在过去的几年里迅速取得了进展。在讨论物联网开发的时候,开发者必须在这两者之间作出选择。所以,谁最适合使用HTTP和MQTT呢?
MQTT集中于数据,而HTTP集中于文档。HTTP是一个用于客户端-服务器计算的请求-响应协议,它并非总是为移动设备而优化。在这些术语中,MQTT的主要优势是:轻量级(MQTT以字节数组的形式传输数据)和发布/订阅模型,这使得MQTT非常适合资源有限的设备,并且有助于节约电池。
另外,发布/订阅模型使客户能够相互独立,从而提高整个系统的可靠性。在一个客户机失败的情况下,整个系统可以继续正常工作。
速度与交货时间。
通过3G网络测试,MQTT比HTTP的吞吐量快93倍。
与HTTP相比,MQTT协议保证了高传输速率。服务质量分三个层次:
-至多一次:尽力保证交货。
-至少一次:确保邮件至少被发送一次。但信息也可以不止一次的传递。
-碰巧一次:保证每条信息只被另一方接收一次。
对于Lastwill&Testament和Retained消息,MQTT也向用户提供选项。首先,如果客户机意外断开连接,则所有订阅客户机都将从代理获取消息。保持邮件意味着新订阅的客户端会立即得到状态更新。
这些功能不是HTTP协议。
复杂度和消息大小。
MQTT的规格非常短。对于开发者来说,只有CONNECT,PUBLISH,SUBSCRIBE,UNSUBSCRIBE和DISCONNECT类型是重要的。而且HTTP规范更长一些。
MQTT有非常短的消息头,最小的包消息大小是2字节。使用文本消息格式的HTTP协议允许它组成冗长的标题和消息。这能帮助你解决问题,因为它可以被人读到,但同时,它也不适合资源有限的设备。
概述。
MQTT协议使用简单。对将来的解决方案来说,响应时间、吞吐量、较低的电池和带宽的使用是最重要的。对于断断续续的连接,它也很完美。
HTTP是有价值和可扩展的。但MQTT更适合于被称为物联网开发的情况。