《云计算加速开源创新》——云原生背景下消息领域的一次重新定义(下)

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
函数计算FC,每月15万CU 3个月
简介: 《云计算加速开源创新》——云原生背景下消息领域的一次重新定义(下)

更多精彩内容,欢迎观看:

《云计算加速开源创新》——云原生背景下消息领域的一次重新定义(上)https://developer.aliyun.com/article/1224005?spm=a2c6h.13148508.setting.16.68ac4f0e3g0pvX


今天我们以RocketMQ5.0核心能力为基础,支撑了阿里云RocketMQ、MNS、RabbitMQ等多款云消息产品,帮助客户建设现代化应用架构。

 

image.png

 

在云原生时代,事件驱动架构应用范围扩大,成为Gartner年度十大技术趋势。在新型的数字化商业解决方案中,会有60%采纳EDA架构。

 

事件驱动是个比较经典的概念。早在几十年前,无论是操作系统内核的设计、还是客户端编程框架都大量采用了事件驱动技术。EDA的价值是为软件设计提供“解耦”的能力,“解耦”是软件实现快速迭代的核心。在全行业数字化转型、全面上云的时代,事件驱动架构的价值将被全面释放。

 

事件驱动释放数字化转型的红利

 

现实世界中的企业业务可以抽象为一个个的事件触发、事件响应的流程,比如在A在超市购买了商品,会产生用户A购买某件商品的事件,超市响应这个事件,可能触发商品补货Action;B在ATM存款完成,会产生A存款XX元事件,银行响应这个事件,可能会触发理财产品推荐Action。

 

用事件来思考业务,进行业务建模,用事件驱动技术进行业务数字化建设,能够为企业建设高度可扩展、高度敏捷的数字化系统。比如在超市的案例中,购买商品的事件未来能扩展更多的Action,比如建设CRM系统、商品货架摆放优化、优惠券发放等等,EDA的数字化系统将持续创造业务增量。

 

另一方面,现实世界中的商机往往转瞬即逝,事件驱动的业务系统,天然就是实时触发的,快速响应业务,例如在电商网站中,通过实时分析用户在网站的点击事件、购物车事件,实时分析用户喜好和需求,精准实时推荐,进一步提高购物成功率和成交量。

 

事件驱动建设数字化商业生态

 

当全行业大规模数字化转型后,跨业务、跨组织的业务合作将从线下搬到线上,在数字经济时代,数字化商业生态规模将持续扩大。在过去,跨组织业务协同更多的是通过同步API调用的方式进行,现在随着规模的扩大、参与方的增多、业务迭代速度的加快,同步API的调用方式已经远远不能满足数字化商业生态的发展诉求。

 

比较显著的问题包括:跨组织的业务因耦合无法独立演进迭代、可用性下降、性能无法满足2C的规模等等。而EDA天然具备的异步、解耦的特性可以解决这一系列的问题,跨组织业务协同更需要彻底解耦。比如阿里聚石塔业务就是事件驱动的模式,聚石塔实时发布交易事件,合作伙伴包括ISV、软件服务商、品牌商家订阅消费交易事件,建设个性化的CRM、商家运营、后台管理系统等,形成一个庞大的电子商务数字化生态;钉钉则是启动“云钉一体”的战略,通过钉钉连接器+EventBridge开放全面的钉钉事件源,以事件集成的方式和业界合作伙伴共建数字化办公生态。事件驱动架构将为跨组织的商业新生态打破业务孤岛、数据孤岛,行业级的事件规范CloudEvent也已经形成,未来“连接”将创造新价值。

 

事件驱动加速云原生技术的落地

 

作为云原生代表技术,Serverless架构范式本身也是事件驱动的。现在主要的serverless产品形态,无论是阿里云的函数计算、还是AWS的Lambda,它们的主要触发源都是各种形态的事件,比如云产品事件,OSS文件上传,触发用户基于函数进行文件加工处理计算;用户业务事件,EventBroker触发函数运行消费逻辑;云产品运维事件,用户通过响应事件,在云平台的基础上扩展自己的自动化运维体系。事件驱动架构的大规模使用,能够帮助数字化企业释放云计算Serverless的技术红利。

 

随着EDA架构被大规模跨组织的落地,CNCF推出了CloudEvent规范,基于统一的规范,跨系统、跨组织的数字化协同有了共同的“语言”,能够实现更高效的系统集成,沉淀面向事件的软件基础设施。面向EDA的趋势,RocketMQ5.0发布了全新的产品形态,叫eventbridge。它的领域模型以事件为中心的,支持cloudevent规范,提供低代码的事件编排、过滤、路由能力,具备灵活的事件集成能力。

 

image.png

 

今天我们以RocketMQ5.0核心能力为基础,支撑了阿里云EventBridge产品,助力云客户实现事件驱动、事件集成的商业生态。

 

image.png

 

五、 云原生时代的Apache RocketMQ技术架构演进

 

现在我们从RocketMQ自身的技术架构角度来看云原生的演进,这是RocketMQ的云原生架构全景图,从客户端、到服务端都进行了全方位的改造,更高弹性、可用性,更低成本。

 

客户端采用轻量SDK设计理念,将原来富客户端的逻辑下沉到Broker,满足现代化应用轻量化、Serverless化的趋势。

 

Broker彻底进行弹性架构改造,分离RocketMQ Proxy和Store层。其中Proxy是完全无状态的计算节点,专注多协议、多领域场景覆盖,可以面向不同工作负载独立弹性,如物联网、微服务、大数据不同场景有不同的资源诉求。同时对RocketMQ的Topic资源也进行了三层解耦,面向消息的Topic、面向流的Topic逻辑分片、面向底层存储的Topic物理分片,每一层都可以独立弹性。

 

Store层则专注消息的高可用存储,包括副本复制、主备切换和云存储集成。其中新的HA技术引入Leaderless的架构,Store节点身份对等,资源利用率全面提升;保持极简架构,内置分布式一致性组件,无需依赖外部zookeeper等分布式系统;多副本策略可定制,面向不同场景,用户可以在可用性+可靠性+成本进行灵活组合;基于全新的高可用架构,用户可以面向云的多可用区、多region组建Geo全局高可用能力。

 

image.png

 

在云存储集成方面,云服务形态的RocketMQ 5.0可基于云盘、对象存储的打造多级存储架构,提供低成本的无限存储能力,冷热数据分离,为用户提供一致的冷读SLA。

 

image.png

 

六、 Apache RocketMQ 5.0业务全景

 

经历7年大规模云计算实践,RocketMQ迈进5.0的时代,从原来的互联网业务消息中间件,扩展到“消息、事件、流”超融合处理平台,解锁更全面的能力。

 

在消息领域,全面拥抱云原生技术,更好的弹性架构和高可用能力。

 

在事件领域,支持CloudEvent规范,以事件为中心的产品新界面,助力客户建设跨业务、跨组织的数字化商业生态。

 

在流领域,流存储增强批量特性,大幅度提高数据吞吐量;新增逻辑队列特性,在流场景也具备无缝伸缩能力;新增流数据库RSQLDB,提供实时事件流处理、流分析能力。

 

在物联网领域,RMQ基于端云一体化架构实现了完整的物联网消息队列的能力,从原来的连接应用扩展到连接物联网设备。同时RocketMQ 5.0 也继续保持极简架构的原则,能够以最低的资源消耗、运维成本搭建服务,适合边缘计算。

 

如下图所示,物联网设备持续产生数据,边缘的RocketMQ直接进行实时数据分析计算,能够快速响应用户。同时通过实时ETL、实时决策产生的高价值事件或者数据,也可以传输到云端,通过RocketMQ的Eventing的能力,链接到云平台,充分利用公共云的一站式平台技术进一步放大数据价值。现在RocketMQ已经具备连接一切、随处运行的能力,提供“云、边、端”一体化的实时数据解决方案。

 

image.png

 

image.png

 

七、 Apache RocketMQ生态与社区建设

 

一个人可以走得很快,但一群人可以走得更远,接下来我们将继续加大对RocketMQ 5.0的生态建设投入。

 

一方面是应用架构生态的建设,这里既有经典的开源项目、规范的集成,比如JMS、AMQP等。另一方面,也会有云原生技术生态的集成,比如CloudEvents、Dapr、Envoy。同时RocketMQ也会进一步发力数据架构生态,全链路集成大数据的摄入、数据存储、数据处理、数据分析组件,从离线大数据到实时大数据。

 

RocketMQ通过联动社区生态项目,为客户交付完整的业务价值链条,实现多场景的业务覆盖,如事件驱动架构解决方案、实时数据解决方案。

 

image.png

在全球700+ Contributors的共同建设下,RocketMQ产品竞争力持续提升,获得更多用户认可,近期荣获多个奖项,如中国开源云联盟优秀基础软件、进入科创中国“开源创新榜”、Apache中国开源项目领导者象限。

 

随着潜在用户数的增大,RocketMQ的商业价值也进一步放大,目前已经有10+云厂商提供Apache RocketMQ的商业服务真正无厂商锁定。RocketMQ已然成为头部互联网、金融、云厂商的共同选择,是消息领域的事实标准。

 

image.png

 

未来RocketMQ将继续围绕消息、事件、流一体化的云原生MQ持续演进,这是近期RocketMQ规划的关键特性,欢迎社区开发者参与共建。

 

image.png


相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
2月前
|
Cloud Native 安全 网络安全
云计算与网络安全:技术融合与挑战云原生技术在现代软件开发中的应用
【8月更文挑战第28天】在数字时代的浪潮中,云计算和网络安全成为信息技术领域的两大支柱。本文将探讨云计算服务的分类、特点及其面临的安全威胁,分析网络安全的基本概念、重要性以及信息安全的关键要素。同时,文章将深入讨论云计算环境下的网络安全问题,包括数据保护、访问控制和合规性挑战,并提出相应的解决策略和技术措施。最后,通过一个代码示例,展示如何在云计算环境中实现基本的数据加密,以增强信息的安全性。 【8月更文挑战第28天】 随着云计算技术的飞速发展,云原生技术已成为推动软件行业创新的关键力量。本文将深入探讨云原生的核心概念、优势以及如何在现代软件开发中有效利用云原生技术。我们将通过具体案例,展示
|
1天前
|
Kubernetes Cloud Native 持续交付
云计算的转型之路:云原生技术的崛起与实践####
【10月更文挑战第16天】 本文深入探讨了云原生技术在现代IT架构变革中的核心作用,不同于传统概述,本摘要将聚焦于云原生如何促进企业实现敏捷开发、弹性伸缩及高效运维,通过具体案例分析展现其在实际业务场景中的创新应用,揭示这一技术趋势对企业数字化转型的深远影响。 ####
13 2
|
8天前
|
Cloud Native 持续交付 云计算
云计算的未来:探索云原生技术的崛起与影响
【10月更文挑战第9天】 在当今数字化转型的浪潮中,云计算已成为推动企业创新和效率提升的关键力量。随着技术的进步和市场需求的演变,一种新兴的技术趋势——云原生,正逐渐崭露头角,引领着云计算进入一个全新的发展阶段。本文将深入探讨云原生的概念、核心原则、关键技术以及它如何改变企业的运营模式和业务策略。通过分析云原生技术的优势、挑战和未来趋势,我们将揭示这一技术变革背后的深层含义,以及它如何塑造未来的数字生态系统。
|
8天前
|
Cloud Native 持续交付 云计算
云端新纪元:探索云原生技术的奥秘在当今数字化时代,云计算已成为推动企业创新和增长的关键动力。随着云平台的不断成熟,云原生技术应运而生,以其独特的优势引领着一场新的技术革命。本文将深入探讨云原生的核心概念、主要特点以及它如何改变现代软件开发和部署的方式,为您揭开云原生这一神秘面纱。
云原生是一种构建和运行应用程序的方法,充分利用了云平台的弹性、分布式本质以及声明式基础设施。本文将解析云原生的十二要素,微服务架构的优势,以及容器化、持续集成与持续部署(CI/CD)等核心技术的实践应用。通过深入浅出的方式,让读者理解云原生不仅是一种技术,更是一种文化和方法论,它正在重塑软件开发流程,提高资源利用率和应用系统的可扩展性与容错性。
|
16天前
|
人工智能 自然语言处理 关系型数据库
阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成
近日,阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成。
|
1月前
|
关系型数据库 分布式数据库 数据库
开源云原生数据库PolarDB PostgreSQL 15兼容版本正式发布
PolarDB进行了深度的内核优化,从而实现以更低的成本提供商业数据库的性能。
|
2月前
|
Cloud Native 关系型数据库 分布式数据库
云原生数据库2.0问题之PolarDB利用云计算技术红利如何解决
云原生数据库2.0问题之PolarDB利用云计算技术红利如何解决
|
2月前
|
运维 监控 Cloud Native
|
2月前
|
Kubernetes Cloud Native 网络安全
云原生入门指南:Kubernetes和容器化技术云计算与网络安全:技术融合的新篇章
【8月更文挑战第30天】在云计算的浪潮中,云原生技术如Kubernetes已成为现代软件部署的核心。本文将引导读者理解云原生的基本概念,探索Kubernetes如何管理容器化应用,并展示如何通过实践加深理解。
|
3月前
|
Cloud Native
云原生部署问题之什么是结构体,并给出一个结构体的定义和初始化示例
云原生部署问题之什么是结构体,并给出一个结构体的定义和初始化示例
44 10