全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 阿里云办公 培训与认证 物联网
消息队列 MQ

微消息队列概述

更新时间:2017-08-25 10:00:04   分享:   

本文主要介绍 MQ 微消息队列(Light Message Queue,简称 LMQ),包括 MQTT 协议基本概念、 MQTT 服务的主要原理以及 MQTT 协议主要的应用场景。如何使用微消息队列请参考MQTT 接入

简介

针对用户在移动互联网以及物联网领域的存在的特殊消息传输需求,MQ 开放了 MQTT 协议的完整支持。

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

协议的特点包括:

  • 使用发布/订阅消息模式,提供一对多的消息分发,解除了应用程序之间的耦合;
  • 对负载内容屏蔽的消息传输;
  • 使用 TCP/IP 提供基础的网络连接;
  • 有三种级别的消息传递服务;
  • 小型传输,开销很小(固定长度的头部是2字节),协议交换最小化,以降低网络流量。

系统结构

MQ 完整支持 MQTT 3.1.1 协议,通过在 MQ 核心的基础上增加 MQTT 协议网关的方式对互联网上的客户端提供服务。整个系统架构如下图所示:

mqtt-overview

其中,MQ Core Service 负责底层的消息存储和分发,上层支持 MQ 私有协议服务器以及 MQTT 协议网关服务器。MQTT 网关负责对用户的 MQTT 客户端提供服务,同时负责 MQTT 协议和后端 MQ 私有协议的转换。主要工作如下:

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

客户端分布:

  • 使用 MQTT 协议的客户端作为移动端接入 MQ,一般分布在公网环境,比如嵌入式设备、移动手机、平板、浏览器之类的平台上。
  • 使用 MQ 协议的客户端一般作为业务上的服务端接入 MQ,应该部署在阿里云的 ECS 环境。

应用场景和优势

MQTT 作为移动互联网以及物联网领域的主流协议,应用场景丰富。目前 MQ 提供的 MQTT 服务已经在各个领域有所应用,覆盖了直播互动、车联网、金融支付、即时聊天等多个场景。同时,MQTT 服务端采用分布式理念进行设计,系统无单点瓶颈,各个组件都可以无限水平扩展,保证容量可以随着您的在线使用量进行调整。

mqtt-overview-2

相比其他移动端消息服务,基于 MQ 的 MQTT 服务具有以下优势:

  1. 支持标准的 MQTT 协议,应用方无技术捆绑,可以无缝迁移。
  2. 可以支持移动端 MQTT 消息和服务端 MQ 消息的相互流转,实现服务端和移动端的双向打通。
  3. 支持设备级权限控制,并支持 SSL/TLS 加密通信,数据传输更安全可靠。
  4. 兼容任何支持 MQTT 3.1.1 协议的 SDK,覆盖绝大多数移动端开发语言和平台。
本文导读目录
本文导读目录
以上内容是否对您有帮助?