原文:Introducing the MQTT Protocol - MQTT Essentials: Part 1
简介
MQTT(Message Queuing Telemetry Transport)是一个基于 客户端-服务器 的 消息发布/订阅 传输协议。它轻量、简单、开放和易于实现。这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)等较小的代码空间或较低的通信开销环境。
它是一种非常轻量的二进制协议,由于其最小的数据包开销,MQTT在通过有线传输数据时优于HTTP等协议。该协议的另一个重要方面是MQTT非常容易在客户端实现。易用性是MQTT开发中的一个关键问题,它非常适合今天资源有限的受限设备。
简史
MQTT协议由Andy Stanford Clark(IBM)和Arlen Nipper(Arcom,现为Cirrus Link)于1999年发明。他们需要一个协议,将电池损耗降至最低,并将通过卫星与输油管道连接的带宽降至最低。两位发明人为未来的协议规定了几项要求:
- 实现简单,精简,不添加可有可无的功能
- 服务数据交付质量
- 轻量和高带宽效率(把低带宽、高延迟、不稳定的网络等因素考虑在内)
- 假设数据不可知,不强求传输数据的类型与格式
- 持续会话感知
时至今日,这些目标仍然是MQTT的核心。