什么是消息队列 RocketMQ 版?
消息队列 RocketMQ 版是阿里云基于 Apache RocketMQ 构建的低延迟、高并发、高可用、高可靠的分布式消息中间件。消息队列 RocketMQ 版既可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性。
访问方式
除公网访问方式外,消息队列 RocketMQ 版还支持专有网络 VPC。您可以完全掌控自己的专有网络,例如选择 IP 地址范围、配置路由表和网关等,您可以在自己定义的专有网络中使用阿里云资源如云服务器、云数据库 RDS 版和负载均衡等。
核心概念
- Topic:消息主题,一级消息类型,生产者向其发送消息。
- 生产者:也称为消息发布者,负责生产并发送消息至 Topic。
- 消费者:也称为消息订阅者,负责从 Topic 接收并消费消息。
- 消息:生产者向 Topic 发送并最终传送给消费者的数据和(可选)属性的组合。
- 消息属性:生产者可以为消息定义的属性,包含 Message Key 和 Tag。
- Group:一类生产者或消费者,这类生产者或消费者通常生产或消费同一类消息,且消息发布或订阅的逻辑一致。
消息队列 RocketMQ 版涉及的概念的详细解释,请参见名词解释。
消息收发模型
消息队列 RocketMQ 版支持发布/订阅模型,消息生产者应用创建 Topic 并将消息发送到 Topic。消费者应用创建对 Topic 的订阅以便从其接收消息。通信可以是一对多(扇出)、多对一(扇入)和多对多。
具体通信如下图所示。
图 1. 消息收发模型
- 生产者集群:用来表示发送消息应用,一个生产者集群下包含多个生产者实例,可以是多台机器,也可以是一台机器的多个进程,或者一个进程的多个生产者对象。
一个生产者集群可以发送多个 Topic 消息。发送分布式事务消息时,如果生产者中途意外宕机,Broker 会主动回调生产者集群的任意一台机器来确认事务状态。
- 消费者集群:用来表示消费消息应用,一个消费者集群下包含多个消费者实例,可以是多台机器,也可以是多个进程,或者是一个进程的多个消费者对象。
一个消费者集群下的多个消费者以均摊方式消费消息。如果设置的是广播方式,那么这个消费者集群下的每个实例都消费全量数据。
一个消费者集群对应一个 Group ID,一个 Group ID 可以订阅多个 Topic,如图 1 中的 Group 2 所示。Group 和 Topic 的订阅关系可以通过直接在程序中设置即可,具体设置方法可参见产品更新日志中的资源申请流程优化部分。
应用场景
- 削峰填谷
诸如秒杀、抢红包、企业开门红等大型活动时皆会带来较高的流量脉冲,或因没做相应的保护而导致系统超负荷甚至崩溃,或因限制太过导致请求大量失败而影响用户体验,消息队列 RocketMQ 版可提供削峰填谷的服务来解决该问题。
- 异步解耦
交易系统作为淘宝/天猫主站最核心的系统,每笔交易订单数据的产生会引起几百个下游业务系统的关注,包括物流、购物车、积分、流计算分析等等,整体业务系统庞大而且复杂,消息队列 RocketMQ 版可实现异步通信和应用解耦,确保主站业务的连续性。
- 顺序收发
细数日常中需要保证顺序的应用场景非常多,例如证券交易过程时间优先原则,交易系统中的订单创建、支付、退款等流程,航班中的旅客登机消息处理等等。与先进先出(First In First Out,缩写 FIFO)原理类似,消息队列 RocketMQ 版提供的顺序消息即保证消息 FIFO。
- 分布式事务一致性
交易系统、支付红包等场景需要确保数据的最终一致性,大量引入消息队列 RocketMQ 版的分布式事务,既可以实现系统之间的解耦,又可以保证最终的数据一致性。
- 大数据分析
数据在“流动”中产生价值,传统数据分析大多是基于批量计算模型,而无法做到实时的数据分析,利用阿里云消息队列 RocketMQ 版与流式计算引擎相结合,可以很方便的实现将业务数据进行实时分析。
- 分布式缓存同步
天猫双 11 大促,各个分会场琳琅满目的商品需要实时感知价格变化,大量并发访问数据库导致会场页面响应时间长,集中式缓存因为带宽瓶颈限制商品变更的访问流量,通过消息队列 RocketMQ 版构建分布式缓存,实时通知商品数据的变化。
更多信息请参见适用场景。
上一篇: 产品更新日志
什么是消息队列 RocketMQ 版?相关推荐
- rocketmq python 某个队列不消费_消息队列 RocketMQ 版消息轨迹没有显示消费信息,为什么?...
关于 消息队列 RocketMQ 版消息轨迹没有显示消费信息,为什么?的搜索结果 回答 2021一月拼团已有400余人拼团成功最低一折 点击进入:一月新人专场 服务器配置时间价格1核2G1年84元1核 ...
- 说说消息队列RocketMQ版ConsumeTimeout的含义是什么
ConsumeTimeout 最长的消费时间,如果超过了这个时间就认为消息消费失败了:主要目的 是为了能尽早的将 offset 确认,避免消息重复,例如对于并发消息有 100 条 0~99 , 第 0 ...
- 阿里云消息队列 RocketMQ、Kafka 荣获金融级产品稳定性测评 “先进级” 认证
近日,由中国信通院和混沌工程实验室联合举办的混沌工程技术沙龙–金融行业精品专场顺利召开,并发布金融级产品稳定性测评成果.在分布式系统稳定性评估体系获奖名单中,阿里云分布式消息队列服务成为通过首批消息队 ...
- 基于消息队列 RocketMQ 的大型分布式应用上云较佳实践
作者|绍舒 审核&校对:岁月.佳佳 编辑&排版:雯燕 前言 消息队列是分布式互联网架构的重要基础设施,在以下场景都有着重要的应用: 应用解耦 削峰填谷 异步通知 分布式事务 大数据处理 ...
- 阿里云消息队列 RocketMQ 5.0 全新升级:消息、事件、流融合处理平台
从"消息"到"消息.事件.流"的大融合 消息队列作为当代应用的通信基础设施,微服务架构应用的核心依赖,通过异步解耦能力让用户更高效地构建分布式.高性能.弹性健壮 ...
- 基于消息队列 RocketMQ 的大型分布式应用上云最佳实践
简介:Apache RocketMQ 作为阿里巴巴开源的支撑万亿级数据洪峰的分布式消息中间件,在众多行业广泛应用.在选型过程中,开发者一定会关注开源版与商业版的业务价值对比. 那么,今天就围绕着商业版 ...
- 云栖发布|阿里云消息队列 RocketMQ 5.0:消息、事件、流融合处理平台
简介:RocketMQ5.0 的发布标志着阿里云消息正式从消息领域正式迈向了"消息.事件.流"场景大融合的新局面. 引言:从"消息"到"消息.事件.流 ...
- JAVA应用开发MQ实战最佳实践——Series2:消息队列RocketMQ性能测试案例
简介:JAVA应用开发MQ实战最佳实践--Series2:消息队列RocketMQ性能测试案例 往期内容 JAVA应用开发MQ实战最佳实践--Series1:RocketMQ综述及代码设计 1. 消息 ...
- 基于消息队列 RocketMQ 的大型分布式应用上云实践
简介: Apache RocketMQ 作为阿里巴巴开源的支撑万亿级数据洪峰的分布式消息中间件,在众多行业广泛应用.在选型过程中,开发者一定会关注开源版与商业版的业务价值对比. 那么,今天就围绕着商业 ...
最新文章
- 823专业课计算机,辽宁科技大学823计算机专业基础综合(含数据结构、计算机组成原理、操作系统和计算机网络)考研复习经验...
- 解码以色列人工智能产业:正在崛起的竞争者
- Java多线程学习二十五:阻塞和非阻塞队列的并发安全原理||如何选择适合自己的阻塞队列?
- Python eval 函数
- openstack学习之路-python运维(network)
- Jmeter性能测试工具实现对数据库mysql进行连接并压测
- YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5的发展(1)
- 【魔兽世界插件】魔兽世界插件实战笔记从入门到放弃的心理历程 第四节 窗体的移动
- 微信php视频怎么变成mp4,缓存下来的视频如何变成mp4格式?
- NUC970裸机IIC驱动
- 计算机模拟器demo,房东模拟器(The Tenants)demo试玩版
- Android软件自动更新升级(自动下载安装新版本)
- 带有下标的赋值维度不匹配。
- CAD文字显示号问题原因和解决办法
- 向量检索(一)Faiss 在工业界的应用和常见问题解决
- php直播源码,图片亮度
- Excel数据透视表不显示汇总行
- 医院信息集成平台现状总结
- 如何使用Python爬取基金数据,并可视化显示
- 计算机9月21日二级试题,2016年9月计算机二级Access考前试题及答案
热门文章
- android打开视频噔_android: 播放视频
- 文本编辑器实现文本打印的功能
- python用户输入算式并计算_Python 70行代码实现简单算式计算器
- python中opencv安装_怎么为python安装opencv模块-百度经验
- mysql命令行查看端口占用_linux下常用命令查看端口占用
- LINUX :标准c库
- Python 画樱花(动态画+飘落效果+暗色效)
- C++引用不能绑定到临时数据
- java post 打开新页面_JAVA后台POST/GET访问方法
- 数据挖掘流程(二):数据预处理