博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一分钟了解阿里云产品:消息队列
阅读量:7252 次
发布时间:2019-06-29

本文共 1782 字,大约阅读时间需要 5 分钟。

一、             概述

 

阿里云发布的产品种类繁多,今天让我们一起来了解下消息队列(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可应用在多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用、手游、视频、物联网、车联网等。

 

  • 通用场景:一对多,多对多异步解耦,削峰场景,日志监控。

 

  • 行业应用:消息推送,金融报文,电信信令。

目前,已有钉钉、上海网聚宝、杭州安存科技、天猫双十一等在使用消息队列。

 

消息队列典型特性介绍:

 

 

 

二、             技术点(消息队列五大热点技术问题分析)

 

在上一篇文章中,我们为大家介绍消息队列的概况,消息队列(Message Queue,简称MQ)是企业级互联网架构的核心服务,基于高可用分布式集群技术,搭建了包括发布订阅、接入、管理、定时(延时)、监控报警等一套完整的高性能、高性价比消息云服务。那在使用过程中,经常遇到的热门技术问题有哪些呢?

 

MQ 发送消息:

 

MQ 查询消息:

 

问题定位:

 

MQ常见问题:

 

消息队列控制台TOPIC异常处理方法:

 

 

希望上面的内容,能够对大家有所帮助。

 

 

 

三、             体验(消息队列服务MQS使用分享)

 

消息队列MQS,顾名思义,是用于发送接收消息用的。废话不说,直接进入主题。

 

 

使用场景:服务添加了一个新功能,主要用于生成图片,本人用的开发语言是PHP,生成图片比较耗服务器性能,如果使用一台服务器生成的话,生成大量图片时速度就会很慢。

由此决定使用3台服务器同时处理,将任务分布到3台服务器中。另外有一台服务器用于提交任务。

MQS支持多个生产者、多个消费者并发访问一个队列(本例是一个生产者,3个消费者)。

 

简单的服务器部署情况如下图:

 7df2b7c327c64d172d61932603bf0b9339fa12f8

 

具体的代码实现这里就不再说明了,个人是根据官方的API文档稍微封装了一下:

 

服务器部署完之后,封装好API之后,接下来使用就很简单了, 管理后台可以添加修改队列配置。

 

过程比较简单:

 

1.生产者添加消息

2.消费者取出消息,完成业务逻辑后通知队列已经完成。

 

添加队列如下:

 503f2c9c6e240ab43194fe1d8afe01ab89ec5cf1

 

说明一下隐藏时长的个人理解:消费者取出消息,过了(隐藏时长)未通知队列处理完成,那认为消息还没消耗掉,可以再取出!

 

关于具体如何使用这里就不多做介绍,官方文档也比较齐全,而且对接小二热情周到!

本人使用MQS三个多月,还没出现消息遗漏的情况,解决了大量任务分布处理的需要,非常稳定方便!

总体来说,相当满意!以上就是我使用消息队列的一点体会,希望大家能有所收获。

 

 

如果您想详细了解消息队列,请访问:

 

大型网站架构系列:分布式消息队列(一):

转载地址:http://ooebm.baihongyu.com/

你可能感兴趣的文章
javascript调用WebService - Hello World
查看>>
【Tomcat】Servlet 工作原理解析
查看>>
C#设计模式(19)——状态者模式(State Pattern)
查看>>
UVA 10173 Smallest Bounding Rectangle(最小外接矩形)
查看>>
Top 126 Ajax Tutorials
查看>>
艾伟:.NET : 如何保护内存中的敏感数据?
查看>>
艾伟_转载:[原创]再谈IIS与ASP.NET管道
查看>>
一起谈.NET技术,实战ASP.NET大规模网站架构:Web加速器
查看>>
微软等厂商高管谈安全云面临的挑战
查看>>
RSA大会主角 云安全
查看>>
微软BI 之SSAS 系列 - 多维数据集维度用法之三 多对多维度 Many to Many
查看>>
C#Winform程序如何发布并自动升级(图解)
查看>>
Linux环境下VI/VIM编辑文件时无权限保存的解决方法
查看>>
【object-c基础】object-c基础之二:property,assign,copy,retain,release
查看>>
Oracle--plsql游标创建和使用
查看>>
Android自动化测试之使用java调用monkeyrunner
查看>>
Android API之android.os.Parcelable
查看>>
测试JdbcTemplate执行SQL语句和存储过程
查看>>
tableview 里面的 必须配套使用的方法
查看>>
ClassLoader工作机制
查看>>