mqtt协议_MQTT协议浅析

2ad60fe0a42496934285512e8b2c049f.png

bcd12218ad458a832964fad691add9fa.png

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)最早是IBM开发的一个即时通讯协议,MQTT协议是为大量计算能力有限且工作在低带宽、不可靠网络的远程传感器和控制设备通讯而设计的一种协议。

MQTT协议的优势是可以支持所有平台,它几乎可以把所有的联网物品和互联网连接起来。

主要的几项特性:

1、使用发布/订阅消息模式,提供一对多的消息发布和应用程序之间的解耦;

2、消息传输不需要知道负载内容;

3、使用 TCP/IP 提供网络连接;

4、有三种消息发布的服务质量:

  • QoS 0:“最多一次”,消息发布完全依赖底层 TCP/IP 网络。分发的消息可能丢失或重复。例如,这个等级可用于环境传感器数据,单次的数据丢失没关系,因为不久后还会有第二次发送。
  • QoS 1:“至少一次”,确保消息可以到达,但消息可能会重复。
  • QoS 2:“只有一次”,确保消息只到达一次。例如,这个等级可用在一个计费系统中,这里如果消息重复或丢失会导致不正确的收费。

5、小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量;

6、使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制;

在MQTT协议中,一个MQTT数据包由:固定头(Fixed header)、 可变头(Variable header)、 消息体(payload)三部分构成。MQTT的传输格式非常精小,最小的数据包只有2个bit,且无应用消息头。

三种消息发布方式

852f794580e153861f8eccad8b83d6e4.png

发布/订阅模型允许MQTT客户端以一对一、一对多和多对一方式进行通讯。

MQTT的发布/订阅消息模式

97df4707f95c9de0a4a5baab54bdc089.png

ps:IT技术、架构、职场、有意思的事儿,请关注我的公众号360linker

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值