MQTT是一个物联网传输协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。MQTT是专门针对物联网开发的轻量级传输协议。MQTT协议针对低带宽网络,低计算能力的设备,作了特殊的优化,使得其能适应各类物联网应用场景。目前MQTT拥有各类平台和设备上的客户端,已经造成了初步的生态系统。在12月18日举行的OIOT开放物联网大会上,IBM的徐刚带来了《IBM MQTT:国际标准化物联网推荐协议》的主题分享,本文根据其演讲内容整理而成。html
在物联网中,开源和开放标准是基本的要素。MQTT的发展历史大体以下:安全
物联网中的数据传输会面临不少问题,好比在网络不稳定的状况下,若是保证数据的传输没有问题,如何保证数据不被重复发送,链接断开后如何进行重连。整体来讲,物联网的接入会面临如下几个方面的挑战:服务器
MQTT的设计思想是开源、可靠、轻巧、简单,MQTT的传输格式很是精小,最小的数据包只有2个比特,且无应用消息头。MQTT能够保证消息的可靠性,它包括三种不一样的服务质量(最多只传一次、最少被传一次、一次且只传一次),若是客户端意外掉线,可使用“遗愿”发布一条消息,同时支持持久订阅。MQTT在物联网以及移动应用中的优点有:网络
消息推送。支持消息实时通知、丰富的推送内容、灵活的Pub-Sub以及消息存储和过滤。并发
低带宽、低耗能、低成本。占用移动应用程序带宽小,而且带宽利用率高,耗电量较少。eclipse