阅读302 返回首页    go 小米 go 小米6


MQTT 简介__MQTT 接入(物联)_消息队列 MQ-阿里云

本文档主要介绍 MQTT 协议基本概念,阿里巴巴 MQ 提供的 MQTT 服务的主要原理以及 MQTT 协议主要的应用场景。

1. 引言

消息队列(Message Queue,简称 MQ)是阿里巴巴集团中间件技术部基于高可用分布式集群技术开发的专业消息中间件。MQ 针对用户在移动互联网以及物联网领域的存在的特殊消息传输需求,开放了 MQTT 协议的完整支持。

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是一种轻量的,基于发布订阅模型的即时通讯协议。该协议设计开放,协议简单,平台支持丰富,几乎可以把所有联网物品和外部连接起来,因此在移动互联网和物联网领域拥有众多优势。

该协议的特点包括:

  • 使用发布/订阅消息模式,提供一对多的消息分发,解除了应用程序之间的耦合;
  • 对负载内容屏蔽的消息传输;
  • 使用 TCP/IP 提供基础的网络连接;
  • 有三种级别的消息传递服务;
  • 小型传输,开销很小(固定长度的头部是2字节),协议交换最小化,以降低网络流量;
  • 提供一种机制,使得客户端异常中断时,能够使用 LastWill 和 Testament 特性通知有关各方。

2. 系统结构

如上文所述,MQ 提供 MQTT 协议的支持,主要是通过 MQTT 网关节点对外提供服务,整个系统结构如下图所示:mqtt

其中,MQTT 网关节点负责对用户的 MQTT 客户端提供服务,同时负责 MQTT 协议和后端 MQ 协议的转换。主要工作如下:

  1. 提供 MQTT 服务,将用户的 MQTT 消息转换成后端 MQ 消息存储到 MQ 系统中,实现数据上行采集。
  2. 接收来自 MQ 的消息,并将消息转换成对应的 MQTT 消息,推送给 MQTT 客户端,实现数据下行推送。

3. 应用场景和优势

MQTT 作为移动互联网以及物联网领域的主流协议,应用场景丰富。目前 MQ 提供的 MQTT 服务已经在各个领域有所应用,主要有以下几类:

领域 应用场景
车联网 汽车厂商的数据采集服务
在线视频 在线直播平台的消息互动
移动端推送 移动端 APP 消息推送

优势:

  1. MQ 支持标准的 MQTT 协议,应用方无技术捆绑,可以无缝迁移。

  2. 可以支持移动端 MQTT 消息和服务端 MQ 消息的相互流转。

  3. 应用方无需自己维护 MQTT 服务端,稳定性和可靠性更高。

  4. 完全兼容任何支持 MQTT 标准协议的 SDK。

  5. 终端数据采集支持顺序,例如同一辆车、同一台设备采集的数据有序。

最后更新:2016-11-23 16:04:15

  上一篇:go HTTP 消息查询__HTTP 接入(简单)_消息队列 MQ-阿里云
  下一篇:go MQTT 名词解释__MQTT 接入(物联)_消息队列 MQ-阿里云