技术揭秘: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版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
3月前
|
存储 缓存 安全
某鱼电商接口架构深度剖析:从稳定性到高性能的技术密码
某鱼电商接口架构揭秘:分层解耦、安全加固、性能优化三维设计,实现200ms内响应、故障率低于0.1%。详解三层架构、多引擎存储、异步发布、WebSocket通信与全链路防护,助力开发者突破电商接口“三难”困境。
|
4月前
|
数据采集 监控 JavaScript
移动端性能监控探索:鸿蒙 NEXT 探针架构与技术实现
阿里云 ARMS 团队倾力打造的鸿蒙 NEXT SDK,为鸿蒙应用提供了业界领先的全链路监控解决方案。这不仅仅是一个 SDK,更是您洞察用户体验、优化应用性能的智能伙伴。
699 42
|
3月前
|
人工智能 自然语言处理 安全
AI助教系统:基于大模型与智能体架构的新一代教育技术引擎
AI助教系统融合大语言模型、教育知识图谱、多模态交互与智能体架构,实现精准学情诊断、个性化辅导与主动教学。支持图文语音输入,本地化部署保障隐私,重构“教、学、评、辅”全链路,推动因材施教落地,助力教育数字化转型。(238字)
740 23
|
3月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
425 2
|
4月前
|
Cloud Native API 开发者
Gemini 2.5 Flash 技术拆解:从 MoE 架构到阿里云生态落地指南
2025年9月,谷歌Gemini 2.5 Flash发布,性能提升5%、成本降24%,引发行业关注。其MoE架构、百万上下文与“思考”范式,助力阿里云开发者高效构建云原生应用。本文解析技术内核,结合汽车、物流等案例,提供落地指南与避坑建议,展望大模型与流计算融合前景。
627 6
|
4月前
|
数据采集 传感器 监控
Modbus 与 MQTT 协议兼容:MyEMS 的泛在能源数据采集技术实现
MyEMS深度融合Modbus与MQTT协议,破解能源数据采集中协议碎片化、网络异构、数据孤岛等难题。通过Modbus接入95%以上工业设备,实现现场数据精准“拉取”;依托MQTT构建高效物联网传输通道,支持多源数据主动“推送”与云端集成。边缘侧采集规整,中心侧汇聚分析,形成统一、可靠、低延迟的数据流。该架构兼具高兼容性、强扩展性与低运维成本,广泛应用于工业园区、商业楼宇及集团型企业,支撑实时监控、AI分析与跨系统融合,打造泛在互联的能源数据底座,助力企业实现全面智慧能源管理。
387 6
|
3月前
|
存储 人工智能 搜索推荐
拔俗AI助教系统:基于大模型与智能体架构的新一代教育技术引擎
AI助教融合大语言模型、教育知识图谱、多模态感知与智能体技术,重构“教、学、评、辅”全链路。通过微调LLM、精准诊断错因、多模态交互与自主任务规划,实现个性化教学。轻量化部署与隐私保护设计保障落地安全,未来将向情感感知与教育深度协同演进。(238字)
442 0
|
4月前
|
JSON 供应链 监控
1688商品详情API技术深度解析:从接口架构到数据融合实战
1688商品详情API(item_get接口)可通过商品ID获取标题、价格、库存、SKU等核心数据,适用于价格监控、供应链管理等场景。支持JSON格式返回,需企业认证。Python示例展示如何调用接口获取商品信息。
|
3月前
|
人工智能 Kubernetes Cloud Native
Higress(云原生AI网关) 架构学习指南
Higress 架构学习指南 🚀写在前面: 嘿,欢迎你来到 Higress 的学习之旅!
1034 0