MQTT协议简介
- 消息队列遥测传输协议 Message Queuing Telemetry Transport. Based on TCP/IP, published by IBM in 1999.
- MQTT协议可用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。
作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。 - MQTT协议是一种基于客户端-服务器的消息发布/订阅传输协议。它提供了一对多的消息分发机制,从而实现与应用程序的解耦。
- 轻量、简单、开放和易于实现
- QoS(Quality of Service levels):
-
- 0:会发生消息丢失或重复,消息发布依赖于底层TCP/IP网络。即:<=1
-
- 1 承诺消息将至少传送一次给订阅者。
-
- 2 我们保证消息仅传送到目的地一次。为此,带有唯一消息 ID 的消息会存储两次,首先来自发送者,然后是接收者。QoS 级别 2 在网络中具有最高的开销,因为在发送方和接收方之间需要两个流。
- 应用架构
MQTT Broker(经纪人、中间商)作为MQTT服务器,接收发布客户端发布的消息,发布到所有订阅相关消息的订阅客户端,客户端/服务端完全解耦。