物联网:MQTT通过HTTP的性能超过300%

快速浏览“ IoT协议”的Google会返回许多页面,建议使用MQTT(消息队列遥测传输),而在搜索结果的第二页中,它几乎完全是与MQTT相关的链接。

在连接网络和人员方面,HTTP协议发挥了更大的作用,它是在各种应用程序中用于数据传输的最广泛使用的协议。 在物联网中,我们必须在“机器与事物”之间建立连接。 它们的通信要求与Internet和相关数据通信的当前需求不同。 因此,由于HTTP的开销,HTTP协议对于物联网(IoT)应用程序看起来很繁重。

MQTT是HTTP for IOT应用程序的更好选择

MQTT协议是一种轻量级且极其简单的协议。 MQTT的发布/订阅体系结构设计具有开放性和易于实施的特征,可以由单个服务器扩展以支持多达数千个可从远程访问的客户端。

其他主要亮点包括:

  • 开放且免版税。
    MQTT易于采用,易于制造并适合网络边缘使用的各种平台,设备和操作系统。
  • 消息传递模型。
    发布/订阅消息传递模型有助于一对多分发。 发件人设备或应用程序无需了解有关接收设备或应用程序的任何信息,甚至无需了解其地址。
  • 约束网络的理想选择。
    MQTT消息头被保留得尽可能小,是脆弱连接,低带宽,数据限制,高延迟网络的理想选择。 固定标头只有两个字节,也按需提供推式消息分发,从而降低了网络利用率。
  • 多个服务级别。
    它为处理各种类型的消息提供了灵活性。 例如,开发人员可以设计消息将被准确地传递一次,至少一次或至多一次。
  • 设计。
    它旨在支持具有低处理能力和最小内存的远程设备。
  • 使用方便。
    通过一组简单的命令消息,用法和实现就非常容易。 MQTT的各种应用将使用CONNECT,DISCONNECT,SUBSCRIBE,UNSUBSCRIBE和PUBLISH方法来完成。
  • 内置的触点丢失支持。
    如果与客户端连接的连接异常断开,则将信息发送到服务器,以促进消息被保留以供以后传递或重新发送。

HTTP与MQTT的比较

总体差异

1)HTTP高功耗

  • HTTP协议的功耗是MQTT协议的10倍。
  • MQTT协议的功耗比CoAP更低,性能提高30%

2)HTTP中的高带宽消耗

  • 对于MQTT主题情况,其中零有效负载存在,而只有传输字节存在,表明HTTP消耗的带宽增加了300%,如图1所示

零载荷的特性
  • 对于MQTT消息共享情况,其中存在有效负载和传输字节,HTTP消耗的带宽增加了250%,如图2所示。

具有负载和开销的特征

3)HTTP中的高协议开销

  • HTTP的通信顺序

通过HTTP通信
  • MQTT用例的通信序列,其中消除了CONNECT / CONNACK

通过MQTT进行通信

快乐的探索
学习—成长—发光
在LinkedIn上与我联系