阿里云消息队列 RocketMQ 5.0 全新升级:消息、事件、流融合处理平台

简介: RocketMQ5.0 的发布标志着阿里云消息从消息领域正式迈向了“消息、事件、流”场景大融合的新局面。未来阿里云消息产品的演进也将继续围绕消息、事件、流核心场景而开展。

从“消息”到“消息、事件、流”的大融合


消息队列作为当代应用的通信基础设施,微服务架构应用的核心依赖,通过异步解耦能力让用户更高效地构建分布式、高性能、弹性健壮的应用程序。


从数据价值和业务价值角度来看,消息队列的价值不断深化。消息队列中流动的业务核心数据涉及集成传输、分析计算和处理等不同环节与场景。伴随着不断演进,我们可以预见消息队列势必在数据通道、事件集成驱动、分析计算等场景不断产生新价值,创造新的“化学反应”。


1.png


RocketMQ 诞生于阿里巴巴内部电商系统,发展至今日,其核心架构经历了多次关键演进:


早在 2007 年,淘宝电商系统做服务化拆分的时候,就诞生了第一代消息服务 Notify,这是 RocketMQ 最早雏形。Notify 采用了关系型数据库作为存储,使用推模式。在阿里淘宝这种高频交易场景中,具有非常广泛地应用。


在 2007-2013 年期间,随着阿里集团业务发展,不仅需要交易场景异步调用,同时需要支持大量传输埋点数据、数据同步。此时,内部衍生出 MetaQ 以及 RocketMQ3.0 版本,这两个版本开始探索自研存储引擎,采用了自研专有消息存储,支持了单机海量 Topic,并前瞻性地去除了 Zookeeper 等组件的外部依赖。在十年后的今天,我们看到去各种 keeper 已成为整个消息领域的发展主流。


经历了前三代的内部业务打磨后,阿里巴巴积极参与开源并将 RocketMQ3.0 贡献到开源社区,并于 2017 年从 Apache 孵化器毕业,成为中国首个非 Hadoop 生态体系的 Apache 社区顶级项目。此后,RocketMQ 也开始服务于阿里云企业客户。秉承开源、商业、内部三位一体发展策略,18 年发布的 4.x 版,在高可靠低延迟方面重点优化,构建了全新的低延迟存储引擎和多场景容灾解决方案、并提供了丰富的消息特性。这也使得 RocketMQ 成为金融级的业务消息首选方案。


上个月社区发布了 RocketMQ5.0-preview 版,正式宣告 5.0 的到来。RocketMQ5.0 将不再局限于消息解耦的基本场景,更是通过统一内核、存储的优势,提供消息、事件、流一体化的处理能力。


2.png


回顾 RocketMQ 发展的十余年,良好的社区环境和商业支持使得大量企业开发者可以很方便的跟进业务特点和诉求进行选型和验证。在社区活跃影响力方面,RocketMQ 社区项目收获 15000+Star,活跃的贡献者有 400+ 位,多语言、生态连接等周边活跃项目 30+ 个,深受社区开发者欢迎。在应用规模方面,RocketMQ 作为金融级业务消息方案,积累了互联网游戏、在线教育、金融证券、银行、政企能源、汽车出行等众多行业数以万计的企业客户。同时,在阿里巴巴内部担负业务核心链路,每天流转万亿级消息流量,扛过了历届双十一的零点峰值。在行业评测方面,RocketMQ 也多次斩获大奖。


3.png


官宣:阿里云新一代 RocketMQ

“消息、事件、流”融合处理平台


今天发布阿里云消息队列 RocketMQ 版 5.0,我们称之为一站式“消息、事件、流”融合处理平台。


新版本核心诞生两大新亮点,首先是消息核心场景的扩展和布局,RocketMQ 5.0 不再局限于消息解耦场景,将全新布局事件驱动和消息流式处理场景;其次则是一站式融合处理的技术架构和趋势。


4.png


“消息、事件、流”一站式融合处理的技术架构可以实现一份消息存储,支持消息的流式计算、异步投递、集成驱动多种场景,极大地降低业务人员运维多套系统的技术复杂度和运维成本。可以说,无论是微服务的指令调用、异步通知,还是 CDC 变更日志、行为埋点数据,亦或是资源运维、审计事件,统一的 RocketMQ5.0 产品栈都能统一处理。


重大发布一:

RocketMQ 基础架构全新升级


首先,最重要的升级是阿里云 RocketMQ 的技术架构全面焕新。


5.png


全新的 RocketMQ5.0 版将通用的存储逻辑下沉,集中解决消息存储的多副本、低延迟、海量队列分区等技术问题,将上层的消息处理和剥离出完全的无状态计算层,主要完成协议适配、权限管理、消费状态、可观测运维体系支持。得益于存算分离的架构设计,从 SDK 接入到线上运维全链路带来全面提升:


  1. 轻量版 SDK 的开放和全链路可观测系统的提升:同时支持 4.x 通信协议和全新的 gRPC 通信协议,并内置 OpenTelemetry 埋点支持,新版本 SDK 新增了 10 余个指标埋点。


  1. 消息级负载均衡:新版本 SDK 不再参与实际存储队列的负载均衡,消息负载均衡将更加轻量,以单条消息为调度最小单元。


  1. 多网络访问支持:新版本支持单一实例同时暴露公网、内网等访问形式,方便客户多网络接入访问。


  1. 海量分级存储:新版本开放分级存储历史消息保存能力,消息低成本无大小限制,最长保存 30 天。冷热数据进行分离设计,极大降低消费历史消息对实例的性能影响。


重大发布二:

RocketMQ Streaming 云上最佳实践——消息ETL


消息基础架构的能力提升之外,阿里云 RocketMQ 在 Streaming 流式处理场景推出了轻量级消息 ETL 功能。


6.png


用户在数据库变更、终端数据上报、后台埋点日志等场景产生的消息,典型的消费场景就是数据清洗转化,同时再存储到外部的存储和离线分析、在线分析系统中。传统实现方案需要搭建 Flink 等重量级实时计算服务或者自建消费应用做消息处理。而使用商业版 RocketMQ ETL 功能,简单控制台配置即可实现消息的清洗和转化。RocketMQ ETL 功能有三大优势:


  1. 轻量无依赖:作为阿里云消息原生功能,使用时不需要部署外部计算服务或消费程序,方案更轻量。


  1. 开发门槛低:内置常见清洗转化模板,满足绝大多数消息内容处理需求,并支持用户快速编写自定义函数来支持特殊的业务逻辑。整体开发成本非常低,1 小时即可完成业务上线。


  1. Serverless 弹性:无需预先估算容量,采取 Serverless 无服务器模式,实现按需弹性伸缩。


重大发布三:

EDA 云上最佳实践——事件中心 EventBridge


本次 RocketMQ 最后一个发布点是在事件驱动的业务场景的布局和演进。早在 2018 年,Gartner 评估报告将 EDA(Event-Driven-Architecture) 列为十大战略技术趋势之一,事件驱动架构将成为未来微服务主流。我们首先下一个定义:


事件驱动其本质是对消息驱动的再升级,是企业IT架构深度演进的下一个必然阶段。


事件驱动架构和消息驱动架构的区别和关联主要集中于以下三点:


  1. EDA 更加强调深层次解耦:消息驱动是同一业务、组织系统内不同组件之间在技术架构层面的调用解耦,其信息封装和处理都是有预期、预定义的。事件驱动适配是更宽泛的业务、组织系统,基于事件的解耦上下游之间无需有预期和行为定义,上下游统一遵循标准化的规范,这是更深度的解耦。


  1. EDA 更加强调连接能力:消息驱动更多是单一系统内的调用,而事件驱动往往会涉及到不同的地域、账户主体以及三方 SaaS 的协同,事件驱动的一大特征就是生态的强连接能力。


  1. EDA 更加强调 Serverless 低代码开发:类比于消息和微服务的协同关系,未来业务架构 Serverless 化的大趋势会推动业务开发模式逐步转向低代码配置化。事件驱动的另一大特征就是低代码开发,基于丰富的工具能力,业务侧不需要像消息驱动一样编写大量的生产消费代码。


7.png


因此,阿里云统一事件中心 EventBridge 产品带来如下能力:


  1. 统一标准化的事件集成生态:作为阿里云事件中心,集成 80 余款云产品的业务事件,支持 800 多种事件类型,用户使用 EventBridge 可以一次性管理所有云产品资源的变更、操作使用事件,避免对接多个产品接口的重复性劳动。


  1. 全球事件互通网络:贯彻事件驱动强连接的属性能力,本次发布了全球事件互通网络,首批支持国内五大地域事件互通。企业客户简单配置即可实现跨账号、跨地域、跨网络的事件聚合和流转。


  1. Serverless 低代码开发:内置十余种事件目标和处理模板,涵盖了大多数业务场景,客户简单配置、低代码,无需部署服务即可完成事件的驱动和处理。


面向未来:

坚定推动“消息、事件、流”大融合的发展


RocketMQ5.0 的发布标志着阿里云消息从消息领域正式迈向了“消息、事件、流”场景大融合的新局面。未来阿里云消息产品的演进也将继续围绕消息、事件、流核心场景而开展。消息基础架构本身也必将步伐不断,继续朝着 Serverless 弹性、强容灾能力、可观测免运维方向推进,给客户带来高性能、高可靠、强容灾的高 SLA 服务;并在 Streaming 的场景会基于客户业务诉求,联合生态产品持续推出更多的消息处理计算服务;打造面向未来的企业集成模式,联合生态伙伴和开源社区大力推动事件驱动进一步发展。


8.png


点击“下方链接”👇,观看企业级互联网架构分论坛重要回顾。

https://yunqi.aliyun.com/2021/agenda/session184

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
21天前
|
消息中间件 网络协议 JavaScript
MQTT常见问题之微消息队列mqtt支持ipv6失败如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
21天前
|
消息中间件 分布式计算 监控
Python面试:消息队列(RabbitMQ、Kafka)基础知识与应用
【4月更文挑战第18天】本文探讨了Python面试中RabbitMQ与Kafka的常见问题和易错点,包括两者的基础概念、特性对比、Python客户端使用、消息队列应用场景及消息可靠性保证。重点讲解了消息丢失与重复的避免策略,并提供了实战代码示例,帮助读者提升在分布式系统中使用消息队列的能力。
46 2
|
8天前
|
消息中间件 存储 网络协议
手写消息队列(基于RabbitMQ)
手写消息队列(基于RabbitMQ)
|
13天前
|
消息中间件 数据采集 Serverless
云消息队列 RocketMQ 版-消息集成-概述
消息集成是助力企业数字化转型的全栈式消息与数据集成平台,简化流程,支持云上云下、跨区域集成。它提供低代码的事件流服务,具备数据源集成、数据清洗、Serverless自定义处理等功能,支持丰富的数据源和跨端连接。然而,使用时存在如单个任务数据限制、任务名称长度等约束。消息流入(Source)负责从各种数据源获取数据,消息流出(Sink)将数据分发到目标,数据处理(Transform)允许数据转换和分析,而任务(Task)则结合这些组件执行实际的集成操作。
30 3
|
21天前
|
消息中间件 存储 运维
为什么选择云消息队列 RocketMQ 版
为什么选择云消息队列 RocketMQ 版
23 1
|
21天前
|
消息中间件 存储 运维
深入理解MQ消息队列的高可用与可靠性策略
深入理解MQ消息队列的高可用与可靠性策略
1004 3
|
21天前
|
消息中间件
rabbitmq插件升级-延时队列为列
rabbitmq插件升级-延时队列为列
435 15
|
21天前
|
消息中间件 运维 Serverless
Serverless 应用引擎产品使用之在阿里云函数计算中,使用了RocketMQ的触发器,并且发送和接收消息都没有问题,但是消息轨迹中没有体现出来消费的情况如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
21天前
|
消息中间件 大数据 Java
消息队列 MQ
消息队列 MQ
41 3
|
21天前
|
消息中间件 安全 API
Apache RocketMQ ACL 2.0 全新升级
RocketMQ ACL 2.0 不管是在模型设计、可扩展性方面,还是安全性和性能方面都进行了全新的升级。旨在能够为用户提供精细化的访问控制,同时,简化权限的配置流程。欢迎大家尝试体验新版本,并应用在生产环境中。
188498 162

热门文章

最新文章

相关产品

  • 云消息队列 MQ