9月7日-8日,相约 2023 腾讯全球数字生态大会!聚焦产业未来发展新趋势! 了解详情
写点什么

事件驱动架构离我们还有多远?

  • 2021-07-23
  • 本文字数:3055 字

    阅读完需:约 10 分钟

事件驱动架构离我们还有多远?

近年来,随着云原生、Serverless 等技术关键词都成为了 buzz word,事件驱动再一次成为了云应用架构领域的热门词汇。Gartner 报告将 Event-Driven Model 列为 10 大战略技术趋势之一,事件驱动架构(EDA)将成为未来微服务的主流。该报告同时做出了以下预言:


  • 到 2022 年,事件通知的软件模型将成为超过 60% 的新型数字化商业的解决方案;

  • 到 2022 年,超过 50% 的商业组织将参与到事件驱动的数字化商业服务的生态系统当中。

美好的未来,骨感的现实

然而,抛开美好的畅想,在实际工作中,落地事件驱动架构不是一件简单的事情,其问题主要体现在以下方面:

  • 事件无标准,获取困难:阿里云的云产品,从 IaaS 到 PaaS,每天都有数以亿计的事件产生,但这些云产品没有采用统一的标准和规范来定义描述这些事件,使得用户无法使用同样的方式来获取处理事件。

  • 事件孤岛严重,无法串联应用:云产品的事件天然孤立,因为缺少统一的事件中枢,使得用户做应用处理时很难将多个产品的事件做串联组合,无法形成规模效应,很难挖掘出有用的业务价值。

  • 事件响应能力弱:当前大多数云产品事件的处理场景都停留在事件本身的监控、告警展示层面,属于离线分析的场景,而云上的用户更加需要将这些事件连接到自身的在线业务系统中,实现事件的在线响应处理,以发挥更大的价值。

  • 事件管理能力差:当前大部分云产品的事件管理能力处于初级阶段,缺乏对事件生命周期的全程管理,缺少事件长期归档、查找、轨迹诊断等能力,用户使用过程中定位问题较为困难。

EventBridge 事件总线基本模型

为了解决这些现实问题,2020 年 11 月,阿里云发布了 EventBridge 事件总线。作为一款无服务器事件总线服务,EventBridge 作为云事件的枢纽,以标准化的 CloudEvents 1.0 协议连接云产品和云应用,提供中心化的事件治理和驱动能力,帮助用户轻松构建松耦合、分布式的事件驱动架构。


另外,在阿里云之外的云市场上有海量垂直领域的 SaaS 服务,EventBridge 将以跨产品、跨组织以及跨云的集成与被集成能力,助力客户打造一个完整的、事件驱动的、高效可控的上云新界面,阿里云 EventBridge 可以提供以下核心能力:


(1)海量阿里云官方事件源:EventBridge 当前支持了阿里云 60+云产品的官方事件接入,用户零成本即可获取各类资源、运维和审计事件。

(2)多类型自定义事件源:EventBridge 支持用户以 CloudEvent1.0 标准协议上传自定义的事件内容,同时还支持消息、数据库变更等类型的数据源清洗成自定义事件。

(3)丰富的事件目标和处理模式:EventBridge 支持短信、邮箱、钉钉、API 等 10+事件目标,并支持全量部分提取、常量、模板等 10+事件处理模式,用户无需任何代码即可完成事件驱动和处理。

(4)完善的事件管理和触达能力:EventBridge 支持事件生命周期查询、轨迹追踪等诊断能力,支持跨网络、跨账号、跨地域的复杂事件触达能力。

EventBridge 产品包含几个基本概念:事件、事件总线、事件源、事件规则以及事件目标。


如上图所示,事件由阿里云官方、自定义、第三方 SaaS 这三类事件源产生并传输到事件总线,用户在事件总线内配置事件规则以实现事件过滤、转换处理,并最终投递到用户指定的事件目标。

典型场景

根据 EventBridge 当前已经具备的能力,给大家介绍下三个典型的案例:

场景 1:云原生海量媒体处理业务

在线教育、游戏直播行业,伴随着在线课堂、直播间的产生,会有大量的媒体数据,例如视频、音频文件需要做剪辑、切分、转码等复杂处理。这类业务处理量往往存在较为陡峭的波峰波谷,业务上需要实时的事件驱动协调以及 Serverless 化的执行处理能力,以满足高实时、低成本、极致弹性的业务需求。



在这个业务场景中,EventBridge 收集来自原始文件的上传、变更事件,并根据业务逻辑驱动下游的函数计算做高并发、可弹性的媒体处理逻辑,在函数计算产品处理完成后将结果驱动下游的媒体通道,同时处理结果可以通过 EventBridge 触达到钉钉、短信邮箱等离线通知渠道以及 API、消息队列等在线渠道。使用 EventBridge+函数计算的方案弹性扩容能开强,运维成本更低、实时性更强。

场景 2:360 度业务全景

随着企业业务规模的扩大,业务的稳定性愈发重要,为了避免故障随着场景的复杂化而频繁发生,对应用建设 360  度全方位的可观测和监控体系尤为重要。传统的应用基于云原生重构后,享受云原生技术红利的同时也为应用的稳定性治理带来了更多的复杂性,最主要的就是变更难以控制:业务依赖了整套云的基础设施,IaaS 层物理资源、网络资源以及 PaaS 层云服务,甚至依赖的上下游服务,时刻都在进行变更,用户很难立马感知到变更的发生以及相应的影响,而 95% 的故障都是由变更导致的。


为了解决这个问题,通过 EventBridge 打造 360 度业务全景图,清晰地感知整个产品业务链路上,做了哪些变更,有哪些异常反应,这些异常反应是不是跟最近的变更有关联,遇到特殊问题时,我们甚至可以通过自运维的方式,帮助产品更快的恢复,将影响面降低到最小。


而这些能力的拥有,离不开 EventBridge 集成多个云产品事件的能力,也离不开 EventBridge 可以通过事件触发多个云产品响应的能力。事件作为一个信息的重要载体,通过 EventBridge 优雅的协调各个云产品进行有序工作。

场景 3:新零售智慧家具门店

EventBridge 未来可以触达的场景有多大?让我们看一个新零售智慧家具门店的场景:


  • 仓库的家具商品入库事件、门店的顾客进店事件通过 EventBridge 实时流转到在线分析系统,让我们知道现在店内有哪些家具商品,进店顾客的家具偏好是什么,并推送给商场门店的导购员或则广告屏,帮助门店更好的下单转化;

  • 顾客在线电子支付后,订单信息发送到 EventBridge,并触发第三方物流公司进行送货上门;

  • 第三方物流公司,可以实时的将家具的位置信息通过 EventBridge 推送给移动端 APP,客户可以通过 APP 很方便的实时了解到自己的家具到哪了,预估还需要多久送到家;


所有这些通过 EventBridge 流转的在线业务事件数据,最终通过 EventBridge 流转到离线分析系统,自动生成业务报表,供管理层做绩效考核或则运营决策。

在这个场景中,EventBridge 起着关键的通道作用,无论是 IoT、在线业务、还是大数据场景,EventBridge 将事件信息高效的流转,推动业务目标达成。Event 既作为在线业务数据,又作为离线分析数据,这种方式,既降低了成本,同时也提高了效率。

发布半年,what's new

EventBridge 距离上次发布已有半年,近一段时间在生态集成规模、事件触达能力、事件应用集成方面有了全面的发展和增强。

  • 在生态集成规模方面,基于阿里云审计产品实现了 30+ 云产品官方事件源接入,涵盖计算、存储、网络、数据库等主流云产品。

  • 在事件触达能力全面新增跨网络、跨地域、跨账号等深度事件触达能力,支持大企业客户使用资源账号做集中事件管理,管理其他成员账号、其他地域的事件。

  • 在事件处理方案:新增了事件查询和事件轨迹查询能力,方便用户快速定位事件驱动链路的异常问题。

未来展望

作为阿里云官方的事件中枢产品,EventBridge 的核心能力将聚集于连接和集成。在连接场景上,未来 EventBridge 会扩大场景范围,不局限于阿里云网络环境,业务应用部署在线下 IDC 机房、跨云厂商、边缘公网环境,阿里云 EventBridge 都将实现连接的触达。


在集成场景上,EventBridge 会继续扩大事件源和目标的范围,涵盖更多的云产品、自定义数据源以及三方 SaaS,同时为了降低用户事件集成的开发复杂度,EventBridge 将会根据各种应用场景构建事件应用模板,用户只需简单配置即可低成本集成。


本文转载自:阿里巴巴中间件(ID:Aliware_2018)

原文链接:事件驱动架构离我们还有多远?

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2021-07-23 13:006062

评论 2 条评论

发布
用户头像
事件驱动国外早就流行了,国内话语权为什么老是控制在大厂里面,拿出来开源免费的技术架构才是正题,rsocket ,vert.x,quarkus值得国内技术人员关注,多关注下真正的技术。
2021-07-23 18:16
回复
这里的事件是跨服务之间的事件,业务相关的,不是服务器内部的处理方式
2021-07-26 11:38
回复
没有更多了
发现更多内容

网络安全之ARP欺骗防护

网络安全学海

网络安全 安全 信息安全 渗透测试 漏洞挖掘

主题域模型

奔向架构师

数据仓库 7月月更

互联网流量编排方案

穿过生命散发芬芳

7月月更 流量编排

Dao智能合约Dapp系统开发技术

薇電13242772558

智能合约 dapp DAO

百度搜索打击盗版网文站点:互联网内容侵权现象为何屡禁不止

石头IT视角

【刷题记录】18. 四数之和

WangNing

7月月更

MySQL消息队列表结构

极客土豆

快速支持客户知识库的核心优势是什么?

Geek_da0866

【愚公系列】2022年07月 Java教学课程 07-变量和数据类型

愚公搬代码

7月月更

思维导图学《On Java》基础卷

Yano

Java

项目升级遇到的坑

技术小生

7月月更

springboot 项目打包优化(核心 class 与依赖 jar 分离)

安逸的咸鱼

Java maven SpringBoot 2 7月月更

Redis 事务学习有感

恒山其若陋兮

7月月更

利用Python浅尝算法分析

迷彩

算法复杂度 7月月更 算法分析

教你学c++算法题中最简单的二分,我不允许还有人不会!!!!

KEY.L

7月月更

NFTScan 与 Atem Network 在 NFT 数据领域达成战略合作

NFT Research

NFT NFTScan

千亿营收之后,阿里云生态有了新打法

B Impact

创建企业wiki,你需要知道这些

Geek_da0866

图像处理解决方案 veImageX 技术演进之路

字节跳动视频云技术团队

计算机视觉 图像处理 图像压缩 图像增强算法

Java基础 ——入坑必读

攻城狮杰森

Java 7月月更

图的存储结构及方法(一)

乔乔

7月月更

构建知识库时,如何避免最常见的几个错误?

Geek_da0866

如何为您的企业设置内部Wiki?

Geek_da0866

时代潮头,华为将风帆对准数字金融的风与海

脑极体

Flink数据源拆解分析(WikipediaEditsSource)

程序员欣宸

Java flink 7月月更

编写一个具有搜索提示的搜索框

空城机

JavaScript 7月月更

如何优雅的改变this指向

bo

JavaScript 前端 7月月更

区块链开发:如何从 Solidity 智能合约中发送和取款

devpoint

区块链 Solidity 7月月更

AWS使用EC2降低DeepRacer的训练成本DeepRacer-for-cloud的实践操作

指剑

AWS Amazon EC2 deepracer

AIRIOT答疑第5期|如何使用低代码业务流引擎?

AIRIOT

物联网

Istio架构扩展机制

阿泽🧸

istio 7月月更

  • 扫码添加小助手
    领取最新资料包
事件驱动架构离我们还有多远?_架构_阿里巴巴中间件_InfoQ精选文章