欢迎关注微信公众号:数据科学与艺术 作者WX:superhe199
MQTT
MQTT (Message Queuing Telemetry Transport) 是一种轻量级的发布/订阅(Publish/Subscribe)消息协议,专为低带宽、不稳定网络环境下的设备间通信而设计,特别是在物联网 (IoT) 应用中得到广泛应用。以下是对 MQTT 协议的主要特点、工作原理及应用场景的简要介绍:
主要特点:
-
轻量级:MQTT 协议设计简洁,报文结构紧凑,对网络带宽和计算资源要求较低,特别适合资源有限的嵌入式设备和移动设备。
-
发布/订阅模式:MQTT 基于发布/订阅模型进行消息通信。发布者(Publisher)将消息发布到特定的主题(Topic),订阅者(Subscriber)则可以订阅感兴趣的主题,收到该主题下发布的所有消息。这种模式允许灵活的信息分发和一对多、多对多的通信。
-
服务质量等级(Quality of Service, QoS):
- QoS 0 (At most once):消息最多发送一次,不保证送达,适用于非关键性、容忍丢失的消息。
- QoS 1 (At least once):消息至少发送一次,可能重复,但保证送达,适用于需要确认接收但可处理重复消息的场景。
- QoS 2 (Exactly once):消息确保只送达一次,提供最高可靠性,适用于对消息顺序和唯一性有严格要求的应用。
-
持久会话:MQTT 支持持久会话,即使客户端断开连接后重新连接,仍能继续接收之前订阅主题的未接收消息。
-
遗嘱消息(Last Will and Testament, LWT):当客户端异常断开连接时,可以设置一条遗嘱消息,由 MQTT 代理(Broker)自动发布,通知其他订阅者客户端可能已离线或出现故障。
-
保留消息:发布者可以将消息标记为保留,即使没有当前订阅者,消息也会保留在 MQTT 代理上,直到有新的订阅者订阅相关主题。
工作原理:
MQTT 通信涉及三