简介
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。做为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较好的应用。
MQTT特点
MQTT是基于客户端-服务器的消息发布/订阅传输协议。
- 使用的发布/订阅消息模式,它提供了一对多消息分发,以实现与应用程序的解耦。
- 对负载内容屏蔽的消息传输机制。
- 对传输消息有三种服务质量(QoS):
最多一次,这一级别会发生消息丢失或重复,消息发布依赖于底层TCP/IP网络。即:<=1
至多一次,这一级别会确保消息到达,但消息可能会重复。即:>=1
只有一次,确保消息只有一次到达。即:=1。在一些要求比较严格的计费系统中,可以使用此级别
- 数据传输和协议交换的最小化(协议头部只有2字节),以减少网络流量通知机制,异常中断时通知传输双方
MQTT协议原理
Title:流程
participant 发布者
participant 代理
participant 订阅者
发布者->代理:发布消息
订阅者 -> 代理: 订阅消息
代理 -> 订阅者: 推送消息