阿里云ACE共创空间——MQ消息队列产品测试
一、产品背景
消息队列是阿里巴巴集团自主研发的专业消息中间件。 产品基于高可用分布式集群技术,提供消息订阅和发布、消息轨迹查询、定时(延时)消息、资源统计、监控报警等一系列消息云服务,是企业级互联网架构的核心产品。 MQ 目前提供 TCP 、MQTT 两种协议层面的接入方式,支持 Java、C++ 以及 .NET 不同语言,方便不同编程语言开发的应用快速接入 MQ 消息云服务。 用户可以将应用部署在阿里云 ECS、企业自建云,或者嵌入到移动端、物联网设备中与 MQ 建立连接进行消息收发,同时本地开发者也可以通过公网接入 MQ 服务进行消息收发。
从官方文档中看到MQ消息队列的产品为一个提供消息服务的中间件,可以提供端到云的消息服务,这个端的覆盖面包括了移动端和IOT物联网设备,并且为了支持IOT的需要除TCP协议外提供了MQTT来支持物联网设备的消息服务,在云上的支持不止包括阿里云,可以支持用户将服务部署在企业自建云上。作为PAAS层的服务支持用户通过API的方式将消息队列服务集成在自己的平台上,目前在产品的结构上分成两部分,移动端和物联网的消息队列服务单独作为一个子产品MQ FOR IOT提供服务,这项服务和MQ主服务比主要的区别就是增加了对MQTT通讯协议的支持。
从编程语言来看,因为MQ FOR IOT是面向移动端和物联网,所以需要支持的编程语言更多,包括ANDROID、IOS和PYTHON环境在消息队列服务中都已经支持。
二、消息队列MQ产品测试
开通服务进入控制台后看到菜单将消息队列服务清晰的分成两部分,支持MQTT的微消息服务单独列出子菜单,菜单选项按照功能分成三大部分,生产管理类子菜单,消息查询追踪类子菜单和监控报警类子菜单。
TOPIC是消息队列服务中一个重要概念,用于区分消息的不同类型,比如在一次交易中,用户对于商品所下的订单和支付的订单虽然针对的是同一件事情,但是对于消息队列来说,这两种消息的功能和类型有明显的不同,可以用不同的TOPIC来区分,在TOPIC下还有个标签TAG用于二级分类,如一个用户对不同商品的购买订单可以作为不同的TAG。针对消息的配置来讲,需要定义消息的名字和消息的类型。在类型上普通消息、事务消息、定时消息、分区消息等都可以将不同类型的TOPIC根据类型区分。将TOPIC按什么类型进行分类及归入哪个分类需要用户根据实际情况进行确定。
除了TOPIC外,对于一条消息,还有三个独特的属性可以为查询提供方便,生产者的编号(PRODUCT ID)、消费者的编号(CONSUMER ID)和消息编号(MESSAGE ID),加上TOPIC的配置,可以准确定义海量消息中的每一条,方便查询和监控等功能的支持。
消息路由是指的在不同地域间的消息同步,需要配置源地域和TOPIC、目标地域和TOPIC,从最新写入源的消息开始进行同步。
资源报表分成两个子项,生产者和消费者,可以对于消息的两个源头的情况进行查看,如果需要对于消息服务的可以在监控报警设置中进行配置,对于消息的报警项,有两个重要指标堆积量和消息延迟,分别从数量和时间对于消息服务的异常情况进行报警,通过短信方式通知用户。
三、微消息队列MQ FOR IOT产品测试
从微消息队列的按量付费的计费项目就可以看出物联网在消息通讯上的几个主要特征,即时连接数、订阅消息数和消息收发量。万物互联后物联网设备的消息数在这三个维度都会到达海量的程度,特别是即时连接这个特点和一般的MQ服务有很大不同,可以代表物联网中消息传递的特征。
此外,微消息队列服务对于消息的分类同一般MQ服务不同的是,将TOPIC分成父TOPIC和子TOPIC的方式而不是TOPIC和TAG的分类方式,子TOPIC从属于父TOPIC,这个特点我想也是因为需要支持物联网的关系,因为传统下的消息都是针对应用比较多,但是物联网情况下,消息的类型如设备的状态、工业监测数据等会比一般情况多的多,并且消息服务的实时性要求更高,所以将TOPIC设置成父子从属关系更有利于对海量不同类型的消息进行区分。
原文链接
本文为云栖社区原创内容,未经允许不得转载。
阿里云ACE共创空间——MQ消息队列产品测试的更多相关文章
- 【阿里云产品公测】在Laravel4框架中使用阿里云ACE的缓存服务
作者:阿里云用户dvbhack 受论坛排版和格式限制,这篇帖子的格式不是很利于阅读,如果你看帖子觉得不那么舒服,可以看我发表在自己博客上的原文:http://www.ofcss.com/2014/04 ...
- 【阿里云产品公测】阿里云ACE部署通用完整教程及评测
[阿里云产品公测]阿里云ACE部署通用完整教程及评测 作者:阿里云用户bailimei ACE应该是目前在公测的服务中应用最广泛的一项服务.在公测云引擎ACE前曾使用过新浪SAE,而ACE给我的最初印 ...
- 【阿里云产品公测】阿里云ACE配置全程图解,详细到不行!
作者:阿里云用户sofia 看过阿里云社区的其他技术大姥们的评测教程,感觉还是不够详细,对于一个第一次接触ace.新浪sae这类的应用来说还是比较陌生的.我最喜欢写教程了,不过我有我的风格,那就是简单 ...
- 阿里云ACE深圳同城会 开始报名
大家好,阿里云 ACE深圳同城会本周末第一活动,主要大家一起聚聚,互相认识和熟悉,未来一起玩儿一起进步~ 通知大家一个好消息,当前凡是加入深圳ACE同城会组织(群)的朋友,通过跟群主报名申请,将有机会 ...
- 阿里云ACE下的PHP开发环境搭建
阿里云ACE下的PHP开发环境搭建 本系列文章由ex_net(张建波)编写.转载请注明出处. http://blog.csdn.net/ex_net/article/details/23999053 ...
- IM开发基础知识补课(五):通俗易懂,正确理解并用好MQ消息队列
1.引言 消息是互联网信息的一种表现形式,是人利用计算机进行信息传递的有效载体,比如即时通讯网坛友最熟悉的即时通讯消息就是其具体的表现形式之一. 消息从发送者到接收者的典型传递方式有两种: 1)一种我 ...
- 多维度对比5款主流分布式MQ消息队列,妈妈再也不担心我的技术选型了
1.引言 对于即时通讯网来说,所有的技术文章和资料都在围绕即时通讯这个技术方向进行整理和分享,这一次也不例外.对于即时通讯系统(包括IM.消息推送系统等)来说,MQ消息中件间是非常常见的基础软件,但市 ...
- 使用Rabbit MQ消息队列
使用Rabbit MQ消息队列 综合概述 消息队列 消息队列就是一个消息的链表,可以把消息看作一个记录,具有特定的格式以及特定的优先级.对消息队列有写权限的进程可以向消息队列中按照一定的规则添加新消息 ...
- 初识MQ消息队列
MQ 消息队列 消息队列(Message Queue)简称MQ,是阿里巴巴集团中间件技术部自主研发的专业消息中间件. 产品基于高可用分布式集群技术,提供消息发布订阅.消息轨迹查询.定时(延时)消息.资 ...
随机推荐
- sql server 关于日期格式转换查询备注
select GETDATE()--2016-01-08 16:15:05.787select convert(varchar,getdate(),11)--16/01/08select conver ...
- 【安全性测试】解决关于appscan基于登录会话检测失败问题
有些问题久了忽然就想通怎么解决了,很神奇.这次要说的是,关于appscan无法检测到会话的问题,因为在百度上一直找不到相关的解决方法,这个问题困扰了我很久,今天终于找到方法解决了! 日常配置扫描内容: ...
- 关于Promise层层嵌套可读性差问题
Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大.它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象 ES6 规 ...
- 查找更改的PeopleCode
当我们做工程包迁移时,经过会遗漏部分更改过的定义.我们可以用下面的SQL来查找变更项 变量 &OPRID =代码变更者 变量 &PROJECT 项目工程名 SELECT * FROM ...
- vs2012开发基于MFC的ActiveX控件
1.新建工程 2.一直点击下一步,直到出现一下界面,注意红色标注选项,点击完成. 3.进入工程的属性界面,设置工程属性 4.添加对话框资源及其他控件,添加对话框类, 5.设置对话框属性 6.设置Dia ...
- 一、开水白菜(steamed Chinese cabbage in supreme soup)
菜品历史 相传,开水白菜是由颇受慈禧赏识的川菜名厨黄敬临在清宫御膳房创制的. 黄敬临当厨时,不少人贬损川菜"只会麻辣,粗俗土气",为了破谣立证,他冥思苦想多时并经由百番尝试,终于开 ...
- Linux了解知识点
Linux知识点 1.linux系统内核最早由芬兰大学生linus Torvalds开发. 2.Linux主要用于服务器端和嵌入式两个领域. 3.Linux的特点:开放性.多用户.多任务.良好的用 ...
- Android 音视频开发(七): 音视频录制流程总结
在前面我们学习和使用了AudioRecord.AudioTrack.Camera.MediaExtractor.MediaMuxer API.MediaCodec. 学习和使用了上述的API之后,相信 ...
- [Swift]LeetCode398. 随机数索引 | Random Pick Index
Given an array of integers with possible duplicates, randomly output the index of a given target num ...
- [Swift]LeetCode698. 划分为k个相等的子集 | Partition to K Equal Sum Subsets
Given an array of integers nums and a positive integer k, find whether it's possible to divide this ...