本文共 1782 字,大约阅读时间需要 5 分钟。
一、 概述
阿里云发布的产品种类繁多,今天让我们一起来了解下消息队列(Message Queue,简称MQ)吧。
什么是消息队列呢?
消息队列是企业级互联网架构的核心服务,基于高可用分布式集群技术,搭建了包括发布订阅、接入、管理、定时(延时)、监控报警等一套完整的高性能、高性价比消息云服务。MQ是阿里云正式商用的互联网消息中间件,帮您实现分布式计算场景中所有异步解耦功能。MQ由阿里巴巴集团中间件技术部自主研发,是原汁原味的阿里集团中间件技术精华之沉淀,是可靠的企业级消息中间件产品。
那么,消息队列有什么优势呢?
可能您会问到,“我处在什么样的应用或服务场景时,可以选择消息队列呢?”
消息队列Message Queue可应用在多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用、手游、视频、物联网、车联网等。
目前,已有钉钉、上海网聚宝、杭州安存科技、天猫双十一等在使用消息队列。
消息队列典型特性介绍:
二、 技术点(消息队列五大热点技术问题分析)
在上一篇文章中,我们为大家介绍消息队列的概况,消息队列(Message Queue,简称MQ)是企业级互联网架构的核心服务,基于高可用分布式集群技术,搭建了包括发布订阅、接入、管理、定时(延时)、监控报警等一套完整的高性能、高性价比消息云服务。那在使用过程中,经常遇到的热门技术问题有哪些呢?
MQ 发送消息:
MQ 查询消息:
问题定位:
MQ常见问题:
消息队列控制台TOPIC异常处理方法:
希望上面的内容,能够对大家有所帮助。
三、 体验(消息队列服务MQS使用分享)
消息队列MQS,顾名思义,是用于发送接收消息用的。废话不说,直接进入主题。
使用场景:服务添加了一个新功能,主要用于生成图片,本人用的开发语言是PHP,生成图片比较耗服务器性能,如果使用一台服务器生成的话,生成大量图片时速度就会很慢。
由此决定使用3台服务器同时处理,将任务分布到3台服务器中。另外有一台服务器用于提交任务。
MQS支持多个生产者、多个消费者并发访问一个队列(本例是一个生产者,3个消费者)。
简单的服务器部署情况如下图:
具体的代码实现这里就不再说明了,个人是根据官方的API文档稍微封装了一下:
服务器部署完之后,封装好API之后,接下来使用就很简单了, 管理后台可以添加修改队列配置。
过程比较简单:
1.生产者添加消息
2.消费者取出消息,完成业务逻辑后通知队列已经完成。
添加队列如下:
说明一下隐藏时长的个人理解:消费者取出消息,过了(隐藏时长)未通知队列处理完成,那认为消息还没消耗掉,可以再取出!
关于具体如何使用这里就不多做介绍,官方文档也比较齐全,而且对接小二热情周到!
本人使用MQS三个多月,还没出现消息遗漏的情况,解决了大量任务分布处理的需要,非常稳定方便!
总体来说,相当满意!以上就是我使用消息队列的一点体会,希望大家能有所收获。
如果您想详细了解消息队列,请访问:
大型网站架构系列:分布式消息队列(一):
转载地址:http://ooebm.baihongyu.com/