MQTT是基于TCP的应用层协议,和Http等一样,在20世纪90年代是IBM公司为了帮助石油和天然气公司客户设计在自然复杂的环境下进行有效的数据传输协议时,而设计出的这种物联网环境下的数据传输协议,MQTT解决的问题是,在低带宽高延迟不可靠的网络下和资源有限的硬件环境内,进行相对可靠的数据传输,其设计思想核心是设计简单并适应物联网环境,协议客户端能够运行在物联网中节点对象进行数据采集的单片机上(硬件资源有限)。
总之,是为了解决物联网环境中数据传输和监控存在的问题,才设计出MQTT协议(即先有物联网的概念和应用场景,后才有MQTT),而不是MQTT先存在,后物联网才出现,才去选择MQTT协议进行传输。
MQTT是比较早的时候IBM开发的一种数据传输协议,特点就是占用带宽低,在一些硬件资源有限情况下,比较可靠的传输数据;
现在物联网中每个设备的数据通信要求恰好也是如此,硬件性能没什么 特殊要求,需要简单的协议来满足数据传输,MQTT正好用的上。