一、 概述
阿里云发布的产品种类繁多,今天让我们一起来了解下消息队列(Message Queue,简称MQ)吧。
什么是消息队列呢?
消息队列是企业级互联网架构的核心服务,基于高可用分布式集群技术,搭建了包括发布订阅、接入、管理、定时(延时)、监控报警等一套完整的高性能、高性价比消息云服务。MQ是阿里云正式商用的互联网消息中间件,帮您实现分布式计算场景中所有异步解耦功能。MQ由阿里巴巴集团中间件技术部自主研发,是原汁原味的阿里集团中间件技术精华之沉淀,是可靠的企业级消息中间件产品。
那么,消息队列有什么优势呢?
- 消息队列经过双11阿里交易、商品、营销等核心链路真实场景验证。阿里集团内部1000+核心应用使用,每天流转几千亿条消息,稳定可靠。
- 消息队列历史超过7年,消息保证不丢,技术体系丰富成熟。
- 消息队列支持专有云独立输出,支持物理机和虚拟机,最小部署仅几台机器
- 消息队列一份消息多份落盘存储,经过严格断电测试,消息依然保证不丢失。支持消息轨迹,消息从生产到消费轨迹,可清晰排查。海量消息堆积,单个Topic可堆积100亿+条消息,防止系统高流量崩溃。
- 消息队列性能很高,同一网络内,消息传输RT在10毫秒之内,性能测试下,网卡可被打满。支持大量消息并发发送,超过5万个队列,性能依然卓越。支持消息海量堆积,单Topic可堆积100+亿条消息,单条消息默认最大支持256K。
- 消息队列支持跨网络调用,HTTP公网接入支持跨网络调用,HTTP Restful接口公网接入。MQTT接入,支持主动推送模,多级Topic模型支持一次触达1000万+终端。可广泛应用于物联网和社交即时通信场景,可跟JStorm等实时计算完美结。
可能您会问到,“我处在什么样的应用或服务场景时,可以选择消息队列呢?”
消息队列Message Queue可应用在多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用、手游、视频、物联网、车联网等。
- 通用场景:一对多,多对多异步解耦,削峰场景,日志监控。
- 行业应用:消息推送,金融报文,电信信令。
目前,已有钉钉、上海网聚宝、杭州安存科技、天猫双十一等在使用消息队列。
消息队列典型特性介绍:
https://www.aliyun.com/product/ons/?spm=5176.7400024.3.54.THw5e7
二、 技术点(消息队列五大热点技术问题分析)
在上一篇文章中,我们为大家介绍消息队列的概况,消息队列(Message Queue,简称MQ)是企业级互联网架构的核心服务,基于高可用分布式集群技术,搭建了包括发布订阅、接入、管理、定时(延时)、监控报警等一套完整的高性能、高性价比消息云服务。那在使用过程中,经常遇到的热门技术问题有哪些呢?
MQ 发送消息:
MQ 查询消息:
问题定位:
MQ常见问题:
消息队列控制台TOPIC异常处理方法:
希望上面的内容,能够对大家有所帮助。
三、 体验(消息队列服务MQS使用分享)
消息队列MQS,顾名思义,是用于发送接收消息用的。废话不说,直接进入主题。
使用场景:服务添加了一个新功能,主要用于生成图片,本人用的开发语言是PHP,生成图片比较耗服务器性能,如果使用一台服务器生成的话,生成大量图片时速度就会很慢。
由此决定使用3台服务器同时处理,将任务分布到3台服务器中。另外有一台服务器用于提交任务。
MQS支持多个生产者、多个消费者并发访问一个队列(本例是一个生产者,3个消费者)。
简单的服务器部署情况如下图:
具体的代码实现这里就不再说明了,个人是根据官方的API文档稍微封装了一下:http://www.aliyun.com/product/mqs/?spm=5176.383338.201.16.ZoLW8Q#Help
服务器部署完之后,封装好API之后,接下来使用就很简单了, 管理后台可以添加修改队列配置。
过程比较简单:
1.生产者添加消息
2.消费者取出消息,完成业务逻辑后通知队列已经完成。
添加队列如下:
说明一下隐藏时长的个人理解:消费者取出消息,过了(隐藏时长)未通知队列处理完成,那认为消息还没消耗掉,可以再取出!
关于具体如何使用这里就不多做介绍,官方文档也比较齐全,而且对接小二热情周到!
本人使用MQS三个多月,还没出现消息遗漏的情况,解决了大量任务分布处理的需要,非常稳定方便!
总体来说,相当满意!以上就是我使用消息队列的一点体会,希望大家能有所收获。
如果您想详细了解消息队列,请访问:
https://bbs.aliyun.com/read/179164.html?pos=5
大型网站架构系列:分布式消息队列(一):
https://yq.aliyun.com/articles/7534?spm=5176.100240.searchblog.8.mRjsRI