技术揭秘:RocketMQ 5.0云原生架构升级之路

简介: ——周新宇 阿里云云原生高级技术专家

image.png

RocketMQ5.0主要在以下四个方面进行了云原生的架构改造。

① 轻量级 SDK 基于云原生通信标准gRPC 开发了全新的轻量级 SDK 核心代码量降低 70% 左右。新的 SDK 采取无状态的消费模式,更易于集成,也易于弹性,与此前富客户端能够形成很好的优势互补。

② 无状态消息网关:在存储节点之上搭建了无状态计算集群,并通过 LB 进行服务暴露存储节点进行彻底分离,使其专注于核心的消息存储与高可用能力。计算和存储节点采用了分离部署的形态,能够独立进行扩展与弹性。

③ Leaderless高可用架构:推出了全新的 Leaderless 高可用架构,目前正与社区的 Dledger方案进行融合。新的高可用架构具备 store 节点身份对等Leaderless 化、去 ZK HA控节点等优势。同时支持灵活选择副本数同步自动升降级,能够做到秒级故障转移。

④ 云原生基础设施:可观测能力全面走向了云原生化,拥抱 OpenTelemetry标准部署架构也演进至 Kubernetes能够充分利用售卖区的弹性资源能力。

image.png

新的 SDK 与富客户端能够形成优势互补,更加易于被集成,主要在以下四个方面做了重大的改进。

第一,新的 SDK引入了全新极简 API ,整套API采用不可变的设计语义,拥有完善的错误处理机制,多个语言的 SDK API 层面也进行了对齐。同时引入了全新的SimpleConsumer 形态,能够支持按消息模型进行消费。

第二,通信层采用 gRPC拥抱云原生的通信标准使服务更易于被集成。多语言 SDK在通信层的代码也可以基于gRPC快速生成,方便社区快速开发多语言原生的SDK

第三,SDK 采取轻量级的实现,采用无状态的消费模式,能够大幅降低客户端的实现复杂度客户端更轻量采用应用也更容易被 Serverless 化、 Mesh 化。

第四,云原生可观测性方面,客户端实现了 OpenTelemetry标准,支持导出 Metrics Tracing数据。

image.png

RocketMQ 5.0 引入了无状态的消费模型,这是在队列模型之上的一种消息模型。在 RocketMQ 4.0 时代,RocketMQ的消费只能采取队列模型队列模型是与存储模型一致的消费模型,消费者按照存储队列进行负载均衡和消息拉取。模式非常适合高速批量拉取,适合对单条消息状态不敏感的场景,比如计算场景。

但在业务消息领域,该模式缺乏对单条消息的治理能力以及状态管理能力。RocketMQ 5.0 引入了Pop机制,巧妙地在队列模型之上支持了消息模型,这并不是一种替换关系,而是鱼和熊兼得的模式。在消息模型中,业务可以只关心消息,而无需关心队列,能够做到单条消息在 API 级别的消费重试、修改不可见时间以及删除等语义。无状态的Pop 机制配合 RocketMQ 5.0 的无状态计算集群,使得整个数据链路都能实现无状态,包括客户端的无状态连接无状态以及消费无状态。

image.png

RocketMQ 4.0 在可观测性方面做了大量业务创新推出了业界首个可视化全生命周期的消息轨迹系统,提供了丰富的消息查询、消息下载、轨迹追踪的能力,助力解决分布式环境中的可观测性问题。在云原生时代,我们将这些能力推向了标准化。

首先Metrics 层面,提供了Dashboard的大盘,整个大盘采取Prometheus标准数据格式,并利用 Grafana 进行展示。在指标方面也进行了丰富,包含消息量、堆积量、各个阶段耗时等指标。每一个指标从实例topic 消费group ID 等多维度做了聚合和展示。同时为用户提供了最佳实践的模板,并支持持续迭代的更新。

Tracing层面,将 RocketMQ 4.0 的消息轨迹进行了标准化定义,并将标准合并至开源的OpenTelemetry标准中,规范和丰富了 messaging 领域的Tracing定义。Tracing数据做了消息领域的定制化展示,按照消息维度重新组织抽象span请求数据,能够展示一对多的消费多次消费信息非常直观以及方便理解。另外Tracing数据可以衔接上下游,支持将完整的同步调用链路与消息的异步链路进行整合,提供更全局的可观性视图。

RocketMQ 5.0也特别重视 Logging 的标准化新的 SDK error code message error level 做了标准化定义,同时语言 SDK 中进行了严格对齐。

image.png

IaaS 层面,从 on ECS 的部署架构迁移至on Kubernetes的部署架构,使得 RocketMQ 5.0 能够充分利用云的弹新能力,撬动云的计算、存储和网络的池化资源,满足用户的各类弹需求。

在计算层面,容器服务 ACK 可以帮助 RocketMQ 5.0 充分利用 ECS 的池化资源,借助弹性资源池和 HPA两项关键技术,能够支持计算能力的快速Serverless 化。

在网络层面,RocketMQ 5.0 的网络形态做了完整适配,支持多种私网的网络类型以及公网网络随开随用,兼具安全和方便。同时基于阿里云的 CEN 组网能力构建了全球互通的消息网络。

在存储方面,推出了二级存储能力,能充分利用 ESSD 以及 OSS 存储的弹能力存储计费也走向了量计费,用户也可以自定义存储时长,将消息变为数据资产,同时二级存储天然具备冷热分离的能力,能够为用户提供一致的冷SLA

image.png

在业务层面, RocketMQ 5.0 也从消息走向了世界。在 RocketMQ 之上构建了一款全新的云产品EventBridge它是阿里云在事件驱动架构方面的最新实践,开源阿帕奇 MQ 社区。

EventBridge构建在容器服务之上,并利用 RocketMQ作为核心的事件存储引擎。在 RocketMQ之上有跨地域的connect 集群包含 schema 事件规则、事件管理、事件路由过滤转换等核心能力。在 connect 集群之上是一层事件网关,支持用户以 OpenAPI 官方 SDKCloudEvents SDK Webhook 等方式进行接入。

EventBridge事件驱动引擎连接了大量事件云和事件目标。其中事件云包括阿里云的管控事件、阿里云的数据类事件,也包括自定义应用、 SaaS 应用以及自建数据平台等事件目标包括计算型、分析型、存储型以及通知型的目标,比如函数计算、消息服务、App网关、短信等。

在功能价值层面,EventBridge有四块核心能力

① 能够大幅度减少用户的开发成本,用户无需额外开发即可轻松实现事件驱动架构。

② 支持原生的 CloudEvents拥抱 cncf 社区,能够无缝对接社区 SDK通过标准的协议统一了阿里云的事件规范。

③ 支持事件 schema 的自动探测和校验,source target schema 代码绑定等。

④ 全球事件日益互通,EventBridge组建了跨地域跨账户的事件网络,支持跨云跨数据中心的事件路由。

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
1月前
|
消息中间件 存储 Cloud Native
云消息队列 Kafka 版 V3 系列荣获信通院“云原生技术创新标杆案例”
2024 年 12 月 24 日,由中国信息通信研究院(以下简称“中国信通院”)主办的“2025 中国信通院深度观察报告会:算力互联网分论坛”,在北京隆重召开。本次论坛以“算力互联网 新质生产力”为主题,全面展示中国信通院在算力互联网产业领域的研究、实践与业界共识,与产业先行者共同探索算力互联网产业未来发展的方向。会议公布了“2024 年度云原生与应用现代化标杆案例”评选结果,“云消息队列 Kafka 版 V3 系列”荣获“云原生技术创新标杆案例”。
|
2月前
|
机器学习/深度学习 编解码 人工智能
超越Transformer,全面升级!MIT等华人团队发布通用时序TimeMixer++架构,8项任务全面领先
一支由麻省理工学院、香港科技大学(广州)、浙江大学和格里菲斯大学的华人研究团队,开发了名为TimeMixer++的时间序列分析模型。该模型在8项任务中超越现有技术,通过多尺度时间图像转换、双轴注意力机制和多尺度多分辨率混合等技术,实现了性能的显著提升。论文已发布于arXiv。
205 84
|
5天前
|
SQL 弹性计算 安全
【上云基础系列04】基于标准架构的数据库升级
本文回顾了业务上云从基础到进阶的理念,涵盖基础版和全栈版架构。在“入门级:上云标准弹性架构基础版”的基础上,本文针对数据库升级,重点介绍了高可用数据库架构的升级方案,确保数据安全和业务连续性。最后,附有详细的“上云标准弹性架构”演进说明,帮助用户选择合适的架构方案。
|
21天前
|
消息中间件 负载均衡 物联网
乐刻运动:基于 RocketMQ + MQTT 实现健身产业数字化升级
乐刻运动通过采用阿里云的云消息队列 RocketMQ 版和云消息队列 MQTT 版,不仅提升了系统的实时数据处理能力,还增强了系统的可扩展性、可靠性和性能,为业务的持续发展和流畅的用户体验,提供了坚实的技术支持,进一步推动了数字经济与健身产业的深度融合。
|
1月前
|
存储 数据采集 大数据
AllData数据中台技术架构升级演进
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
30天前
|
存储 弹性计算 运维
阿里云云原生NDR发布:全流量防御能力升级
阿里云发布云原生NDR,提供全流量威胁检测与响应能力。该产品无需部署,支持一键接入、自动留存攻击报文,并具备多引擎关联分析、资产风险管理等功能,有效提升高级威胁应对能力。典型客户案例显示,NDR在重保防护、敏感数据泄露和日志合规等场景中表现出色。总结来看,NDR强调原生化、性价比和强检测,帮助用户简化安全运营并降低成本。
46 11
|
2月前
|
Cloud Native
邀您参加云原生高可用技术沙龙丨云上高可用体系构建:从理论到实践
云原生高可用技术专场,邀您从理论到实践一起交流,探索云上高可用体系构建!
|
2月前
|
Cloud Native 安全 Java
铭师堂的云原生升级实践
铭师堂完整经历了云计算应用的四个关键阶段:从”启动上云”到”全量上云”,再到”全栈用云”,最终达到”精益用云”。通过 MSE 云原生网关的落地,为我们的组织带来了诸多收益,SLA 提升至100%,财务成本降低67%,算力成本降低75%,每次请求 RT 减少5ms。
铭师堂的云原生升级实践
|
2月前
|
运维 Cloud Native Serverless
Serverless Argo Workflows大规模计算工作流平台荣获信通院“云原生技术创新标杆案例”
2024年12月24日,阿里云Serverless Argo Workflows大规模计算工作流平台荣获由中国信息通信研究院颁发的「云原生技术创新案例」奖。
|
2月前
|
人工智能 Cloud Native 大数据
DataWorks深度技术解读:构建开放的云原生数据开发平台
Dateworks是一款阿里云推出的云原生数据处理产品,旨在解决数据治理和数仓管理中的挑战。它强调数据的准确性与一致性,确保商业决策的有效性。然而,严格的治理模式限制了开发者的灵活性,尤其是在面对多模态数据和AI应用时。为应对这些挑战,Dateworks进行了重大革新,包括云原生化、开放性增强及面向开发者的改进。通过Kubernetes作为资源底座,Dateworks实现了更灵活的任务调度和容器化支持,连接更多云产品,并提供开源Flowspec和Open API,提升用户体验。