目录
- 简介
- 为什么选择消息队列RocketMQ版
- 1、架构先进性
- 2、高性能
- 3、稳定性SLA
- 4、弹性低成本
- 5、运维可观测
- 6、金融级容灾
- 应用场景
- 1、业务消息
- 异步解耦、削峰填谷
- 分布式事务
- 分布式定时/延时调度
- 顺序消息
- 2、流式处理
- 3、事件驱动
- 5.0版本规格
- 与开源对比
简介
消息队列RocketMQ版是阿里云基于Apache RocketMQ构建的低延迟、高并发、高可用、高可靠的分布式“消息、事件、流”统一处理平台,面向互联网分布式应用场景提供微服务异步解耦、流式数据处理、事件驱动处理等核心能力。
消息队列RocketMQ版简介
为什么选择消息队列RocketMQ版
消息队列RocketMQ版基于阿里云云原生优质的基础设施实现,兼容Apache RocketMQ的核心API和功能。
相对于自建RocketMQ集群,消息队列RocketMQ版具有如下优势:
1、架构先进性
全面采用存储和计算分离的消息架构,存储和计算可以独立按需水平扩展,满足高效弹性运维和高性能大规格能力的诉求。
2、高性能
可提供单实例集群最高100万TPS稳定消息收发的能力,无需担心大促等峰值流量场景的系统稳定性。
3、稳定性SLA
提供业内领先的稳定性SLA保障,消息服务可用性最高99.99%;高可用三副本起步,数据可靠性最高99.99999999%。
4、弹性低成本
消息计算处理提供预留+突发弹性的组合能力,业务无需再为突发流量预留大量Buffer资源,最高可节省一半机器资源;存储实现Serverless弹性化,按量付费使用,相比挂载云盘无法缩容的情况,具备极大的弹性优势,成本更低。
5、运维可观测
提供丰富的运维可观测能力,可以一键集成OpenTelemetry、全链路Trace、Prometheus等可观测系统;提供完善的OpenAPI能力,支持集成自助运维系统。
6、金融级容灾
提供全球跨地域消息路由复制能力,支持毫秒级低延迟、自定义Topic级别数据备份同步能力;提供异地双活容灾能力,支持国内地域组建双活应用系统。
应用场景
消息队列RocketMQ版基于统一消息存储和轻量计算层,主要应用于微服务异步解耦、流式数据处理、事件驱动等场景。
1、业务消息
异步解耦、削峰填谷
消息队列RocketMQ版初始于阿里巴巴双十一核心链路,广泛应用于物流、购物车、积分等微服务业务系统,有效承载系统间异步解耦和流量削峰填谷的作用。通过使用消息队列RocketMQ版,可有效实现如下作用:
异步解耦缩短链路
通过消息队列RocketMQ版将上游业务和下游系统进行解耦,缩短了无服务调用的链路。系统异步化后响应时间更短、上下游轻松耦合,开发效率更高。
削峰填谷提高稳定性
传统消息中间件仅满足业务的异步化需求,而消息队列RocketMQ版诞生于在线互联网和交易业务场景,除了满足异步能力,还将削峰填谷作为消息的基础能力。通过削峰填谷不仅能够提高系统稳定性,还能大幅降低业务成本。
实现削峰填谷的功能,消息中间件需要支持海量的消息堆积能力以及处理好冷热消息混合情况下的流量模型。消息队列RocketMQ版能够提供亿级消息堆积能力,可以在大促等流量峰值场景下抗住流量洪峰,保证下游业务能够在安全水位内平滑稳定的运行。
分布式事务
消息队列RocketMQ版分布式事务消息的方案具备如下优势:
系统性能高
基于最终一致性的事务消息方案,相比传统XA事务,吞吐性能更高,可扩展性更强。
开发成本低
基于事务消息开发逻辑简单,仅需两阶段接口即可完成多个事务分支的协调,无需业务做补偿处理。
下图以创建订单为例对比传统事务和消息队列RocketMQ版事务消息的方案:
分布式定时/延时调度
消息队列RocketMQ版提供精确度到秒级的分布式定时消息能力,可广泛应用于订单超时中心处理、分布式延时调度系统等场景。
使用消息队列RocketMQ版定时消息有如下优势:
定时精度高、开发门槛低
消息定时时间不存在阶梯间隔,可以轻松实现任意精度事件触发,无需业务去重。
高性能、可扩展
传统的定时实现方案较为复杂,需要进行数据库扫描,容易遇到性能瓶颈的问题,消息队列RocketMQ版可以基于定时消息特性完成事件驱动,实现百万级消息TPS能力。
顺序消息
按照消息的发布顺序进行顺序消费(FIFO),支持全局顺序与分区顺序
使用建议
串行消费,避免批量消费导致乱序
消息消费建议串行处理,避免一次消费多条消费,否则可能出现乱序情况。
例如:发送顺序为1->2->3->4,消费时批量消费,消费顺序为1->23(批量处理,失败)->23(重试处理)->4,此时可能由于消息3的失败导致消息2被重复处理,最后导致消息消费乱序。
2、流式处理
消息队列RocketMQ版具备海量吞吐的流式存储能力,可以有效对接日志收集、数据集成和数据分析等系统。通过消息队列RocketMQ版可以将上游数据分发到下游的实时计算、离线存储等系统。
3、事件驱动
消息队列RocketMQ版可以结合事件总线EventBridge轻松实现事件驱动新模式,消息数据经过事件总线EventBridge的可视化事件规则,驱动下游函数计算、HTTP接口、第三方自定义等数据目标。
5.0版本规格
项目 | 4.x版本 | 5.x版本 |
服务端架构 | 存算一体。 | 存储和计算分离,可独立水平扩展。 |
开发接入门槛 | 同时存在多套SDK,功能接口体验不一致。强制阿里云账号鉴权,企业上云需要修改部分代码。 | 统一使用开源SDK,功能体验一致。支持VPC内部安全识别,上云无需修改代码。 |
存储能力 | 按空间预留,需要做好容量评估避免存储时长不足。 | 根据实际使用量弹性伸缩。 |
计算能力 | 超过TPS规格最大值限流。 | 消息收发计算能力支持预留+突发流量弹性组合,业务方无需为突发流量预留大量Buffer资源。 |
计费项 | 消息收发API调用次数、Topic资源占用数、存储规格 | 消息收发TPS计算规格、存储空间、公网下行流量 |
售卖形态 | 标准版、铂金版 | 主系列标准版、专业版、铂金版。子系列:单节点版:测试环境专用,集群高可用版:生产环境专用,产品形态更丰富,产品选型更平滑。 |
与开源对比
参考链接:
https://help.aliyun.com/document_detail/29532.htmlhttps://help.aliyun.com/document_detail/444754.htmlhttps://www.aliyun.com/product/rocketmq