RocketMQ 5.0版本:架构大重构,代码变更比例高达60%

RocketMQ 5.0 版本进行了重大重构,代码变更比例达60%,但保持对4.0的无缝兼容。新版本专注云原生化,支持消息的流式处理和轻计算,引入存储计算分离架构,以适应多场景需求。此外,RocketMQ 5.0还提供了rocketmq-streams实时计算框架,兼容Flink生态,以满足流处理和事件驱动应用的发展。
摘要由CSDN通过智能技术生成

采访嘉宾 | 誓嘉、林清山

编辑 | Tina

RocketMQ 是一个来自阿里巴巴的分布式消息中间件,于 2012 年开源,并在 2017 年正式成为 Apache 顶级项目。

2017 年 2 月 20 日,RocketMQ 正式发布 4.0 版本。差不多 5 年之后,我们终于等来了 5.0 版本。

RocketMQ 5.0 专注于消息基础架构的云原生化演进,聚焦在消息领域的后处理场景,支持消息的流式处理和轻计算,帮助用户实现消息的就近计算和分析,并将全面拥抱 Serverless 和 EDA。

据阿里云消息产品线负责人林清山介绍,这次发布的版本,因为进行了架构重塑,新增或者修改了超过 60% 的代码,但是对 4.0 的所有功能以及整体架构进行了无缝兼容,且没有引入任何外部依赖,保持了 RocketMQ 极简架构、极低运维成本的特点。

1去 ZooKeeper、存储计算分离:消息系统走向大一统?

RocketMQ 从设计之初就立足于在线交易链路,因此主要应用在大型在线系统的异步化处理。

历经十年发展,目前的大规模落地场景有:电商物流的交易系统、在线教育课程系统、大型游戏信令系统、以及银行交易系统,这些都大量使用了 RocketMQ 来做异步解耦和削峰填谷;同时在非在线业务的场景里,大量车联网、电商网站基于 RocketMQ 实现 IoT 边缘数据以及 C 端用户行为数据采集传输和集成。

开源至今,RocketMQ 的核心架构大约经历了四个重要的演进阶段:

第一代 RocketMQ 其实是采用了推模式,数据存储采用关系型数据库。在这种模式下消息具有很低的延迟特性,并且很容易支持分布式事务。在阿里淘宝这种高频交易场景中,具有非常广泛的应用。

第二代 RocketMQ 在服务于交易场景基础上开始探索自研存储引擎,这个版本采用了拉模式和自研的专有消息存储,在日志处理方面能够媲美 Kafka 的吞吐性能。

在前两代初步打磨了自研的存储引擎后, RocketMQ 3.0 的重构前瞻性地去除了 ZooKeeper 等组件的外部依赖,并支持了单机海量 Topic。而刚好在前不久,我们也报道过消息系统 Kafka 去除 ZooKeeper 依赖。

第四代 RocketMQ 在高可靠低延迟方面重点优化,构建了全新的低延迟存储引擎、新增了 Raft 多副本存储能力、提供了丰富的消息特性。

RocketMQ 架构演进的思考

目前社区开发者对 RocketMQ 的诉求来自于三个方面:首先,RocketMQ 如何更方便地与云原生生态整合是开发者最为关心的问题;其次,在流计算场景里,社区对 RocketMQ 的吞吐能力提出了更高的要求,企业客户也一直希望就近处理流转在 RocketMQ 系统中的如支付、交易等高价值的业务数据;还有一类则是在企业集成过程中,希望 RocketMQ 能提供更多 connector 帮助用户构建企业数据流转中心。

伴随如今企业全面上云以及云原生的兴起,新一代基础架构必须朝着云原生化演进,RocketMQ 在 5.0 里面提供了可分可合的存储计算分离架构以顺应这一趋势。

通过可分可合的存储计算分离架构,用户可以同一进程启动存储和计算的功能,也可以将两者分开部署。分开部署后的计算节点可以做到“无状态”࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值