“全”事件触发:阿里云函数计算与事件总线产品完成全面深度集成
liuian 2025-06-08 22:36 3 浏览
随着云原生技术的普及和落地,企业在构建业务系统时,往往需要依赖多个云产品和服务,产品互联、系统协同的需求越来越强。事件驱动架构将事件应用于解耦服务之间的触发和交互, 能够帮助用户很好实现产品、系统之间的互联互动。函数计算作为事件驱动架构的最佳选择,需要为用户提供丰富的事件源触发能力。
对于函数计算而言,事件源接入需要清晰地了解上游每一个事件源的诸多细节和鉴权要求,同时事件处理和系统错误追踪变得越加困难,集成效率成为阻碍产品能力的最大障碍。为了加速事件源集成的效率,函数计算需要找到一种统一标准的事件源接入方式,基于通用的接入层进行基础能力和可观测性的建设,为客户提供丰富的事件源触发选择。
在这样的背景和需求下,阿里云函数计算(Function Compute)和阿里云事件总线(EventBridge)产品完成全面深度集成。这意味着函数计算和阿里云生态各产品及业务 SaaS 系统有了统一标准的接入方式,意味着函数计算将具备接入 EventBridge 所有事件源的触发能力,Serverless 函数计算将实现触达阿里云全系产品服务的“最后一公里”,为基于阿里云生态产品提供重要的架构扩展能力。
为什么是 EventBridge?
阿里云事件总线(EventBridge)是一种无服务器事件总线,支持将用户的应用程序、第三方软件即服务(SaaS)数据和阿里云服务的数据通过事件的方式轻松的连接到一起,这里汇聚了来自云产品及 SaaS 服务的丰富事件,EventBridge 具备事件标准化和接入标准化的能力:
- 事件标准化:EventBridge 遵循业界标准的 CloudEvent 事件规范,汇聚了来自阿里云生态和 EventBridge 合作伙伴丰富事件源的各种事件,同时提供了完善的事件投递机制和消费策略,整个系统事件流转遵循统一的事件格式;
- 接入标准化:函数计算选择和 EventBridge 集成,无论是产品服务类型众多的阿里云官方事件源,还是第三方 SaaS 系统,EventBridge 都能够为函数计算和其它系统集成提供统一的集成界面,函数计算无需关注上游事件源的具体实现细节,只需要专注于事件处理,将事件的集成和投递全部交给 EventBridge 来处理;
EventBridge + Function Compute 的结合让事件驱动型应用程序的构建变得简单,因为它可以为您完成事件摄取和交付、安全保障、授权以及错误处理工作。允许您构建松散耦合和分布的事件驱动型架构,帮助提高开发人员敏捷性和应用程序弹性。函数计算系统提供了完善的函数创建, 发布和运行体系,灵活的构建能力结合极致的运行时弹性能力将帮助业务构建云原生时代最富显著特征的事件驱动型架构。
同时,EventBridge 能够提供来自事件源(例如 MQ、OSS、RDB等)的实时数据流,并将该数据路由到阿里云函数计算作为目标。您可以设置路由规则来确定发送数据的目的地,以便构建能够实时响应所有数据源的应用程序架构。
函数计算 + EventBridge 带来的变化?
提供 90+ 事件源接入
在和 EventBridge 集成之前, 函数计算已经实现了和阿里云部分核心系统的集成,随着函数计算 EventBridge 的深度集成,阿里云生态大量服务实现了和函数计算集成, 这些服务或产品的事件将作为事件源触发函数;目前函数计算触发器类型已经从原来的 15+ 增加到 90+,并随着 EventBridge 上游接入系统的增加而不断丰富;
控制台享受一站式服务
EventBridge 和函数计算控制台数据互通,用户在 EventBridge 控制台能够以事件为主体选择函数计算作为事件处理目标,在 EventBridge 控制台享受一站式服务;同样在函数计算控制台,用户能够根据不同触发器类型根据对应的事件类型编写函数;用户无需在函数计算控制台和事件总线控制台来回跳转;
保证数据一致性和稳定性
用户无论是在函数计算控制台上通过创建触发器的方式处理指定事件源的事件;还是在 EventBridge 控制台使用函数计算作为事件处理目标,提供统一的资源视图;同时在底层系统实现上,由于后端系统 API 的深度集成,能够保证上层业务逻辑采用统一的 API 及处理逻辑,从技术层面确保了多个入口功能实现的一致性,为客户系统稳定运行奠定坚实的基础;
简化数据消费投递的复杂度
对于数据消费场景,EventBridge 负责了上游系统的对接和数据消费,用户无需关心事件源系统数据具体消费方式,这部分工作统一由 EventBridge 完成;对于函数计算用户,只需要考虑数据投递的逻辑;用户可以直接选择 EventBridge 提供的下游 Target 实现数据投递,也可以在代码层面仅使用 EventBridge 提供的 SDK 实现数据的投递,大大简化了数据投递的复杂度。
触发器业务应用场景
下面就让我们一起探索, 实际的业务生产环境,我们如何利用这两把利器让这一切简单的发生:
自动化运营分析和展示
业务系统会产生大量动态指标数据,需要提取指标数据做运营分析和展示,通过 EventBridge 和 FC 异步化串联实现自动化运营分析和展示。传统方案需要基于实时计算或者离线计算产品做数据提取和分析,整个方案较重,配置复杂。数据分析结果需要做预定义的展示渲染和推送,需要手工对接业务系统,步骤繁琐。
采用新的 EDA 架构,采用 EventBridge 对接业务自定义事件数据,规则驱动过滤逻辑简单。采用 FC 可以轻量化实现常见的数据分析操作,代码编写调试更简单;同时利用EventBridge 丰富的推送能力,可以实现分析结果快速触达受众。
异步解耦
以交易引擎为例,交易系统引擎作为最核心的系统,每笔交易订单数据需要被几十几个下游业务系统关注,包括物品批价、发货、积分、流计算分析等等,多个系统对消息的处理逻辑不一致,单个系统不可能去适配每一个关联业务。结合 EventBridge 事件中心和函数计算灵活的逻辑扩展能力构建业务逻辑。
新零售大促场景 Serverless + EDA 整合
大型新零售场景会伴随不定期大促,平时流量不大的业务在大促场景也会产生系统流量突增,极致弹性和稳定解耦的架构至关重要。基于传统模式开发稳定可靠、高弹性的后台服务人力不足、工期紧张;大促场景保障峰值流量需要预留大量资源,平时低峰期资源闲置浪费。新零售大促场景利用函数计算 + EventBridge + API 网关搭建 Serverless 模式服务中台,支撑海量请求访问, 系统具备极致弹性,无需预留管理 IaaS 资源,极大程度降低闲置成本;同时函数计算提供敏捷开发结合 EventBridge 低代码异步驱动,业务迭代效率大幅提升。
总结
如果说事件背后的服务是阿里云生态服务的积木, 那么 Serverless 函数计算将是能够将这些积木通过轻巧的方式组合起来艺术化的最佳手段;你可以利用函数计算为这些积木涂上更绚丽的色彩,同时能够将他们串联起来,搭建一个具有无比想象空间的 SaaS/PaaS 服务艺术品。
作者:史明伟(世如)阿里云高级技术专家
原文链接:
https://developer.aliyun.com/article/840191?utm_content=g_1000316871
本文为阿里云原创内容,未经允许不得转载。
相关推荐
- 如何使用postman做接口测试(菜鸟级攻略)
-
首先,什么是接口呢?接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好...
- postman教程-15-Runner说明及创建业务流
-
经常我们要把编写好的用例进行回归测试,这时我们就可以通过Runner来选择我们要运行的测试集进行回归。Runner介绍进入Runner有两个入口,第一个就是选择一个集合,点击右三角进入,点击RUN;第...
- Postman 接口测试实战教程:从入门到精通,全网最全项目详解
-
什么是接口?为什么需要接口?因为接口能使我们的实体或者软件内部数据能够被外部进行修改、查询。从而使得内部和外部实现数据交互,所以,需要用到接口。软件接口:右称:API(applicationprog...
- HTTP Cookies知识-查看、发送、获取、返回
-
1简介HTTPCookies是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求里被携带并发送到服务器上。Cookie主要用于以下三个方面:会话状态管理(如用...
- Jmeter和Postman测试工具的区别(postman和jmeter的优缺点)
-
区别一:用例组织方式不同的目录结构与组织方式代表不同工具的测试思想,学习一个测试工具应该首先了解其组织方式。Jmeter的组织方式相对比较扁平,它首先没有WorkSpace(工作空间)的概念,直接是T...
- Postman接口测试之:添加Cookie伪造请求
-
1、获取cookie值登录某网站,通过开发者工具(或者fiddler抓包工具),获取登录成功后的请求头中的cookie值。大家肯定奇怪,明明访问首页的时候就已经生成了cookie值,为什么还登录呢?虽...
- PostMan循环发送请求(postman重复请求)
-
我们在开发中,测试一个或者多个接口时,经常需要循环的去访问这个接口,用来测试接口的性能,使用postman可以做到这一点。不仅能循环测试一个接口,还能同时循环测试多个接口。一PostMan循环发送请求...
- 手把手教你搭建一个文件存储服务器minio,实现文件存储
-
Minio是一个开源的、自托管的对象存储服务器,它提供了类似于云存储服务的功能。你可以使用Minio搭建自己的私有云存储解决方案,或者作为公共存储服务的替代方案。安装官网:https://min.io...
- 存储_AWS的S3实践之路(aws 文件存储)
-
前言当今的开发基本已经基于云开发了,遥想当年自己也曾扛过交换机、抬过服务器和防火墙。读书人一声长叹,时代变化弹指一挥间。好吧,过去心不可得。说到云上存储,当属阿里云的OSS和亚马逊的S3。今天就入个S...
- Java 编程技巧之单元测试用例编写流程
-
温馨提示:本文较长,同学们可收藏后再看:)前言清代杰出思想家章学诚有一句名言:“学必求其心得,业必贵其专精。”意思是:学习上一定要追求心得体会,事业上一定要贵以专注精深。做技术就是这样,一件事如果做...
- 快来试试这款一行代码实现多平台文件存储的工具!
-
大家好,我是Java陈序员。文件上传下载,是我们在开发中经常会遇到的需求!无论是本地存储、还是云存储,我们可以自己封装API来实现功能。今天,给大家介绍一款一行代码实现多平台文件存储的工具,开箱...
- “全”事件触发:阿里云函数计算与事件总线产品完成全面深度集成
-
随着云原生技术的普及和落地,企业在构建业务系统时,往往需要依赖多个云产品和服务,产品互联、系统协同的需求越来越强。事件驱动架构将事件应用于解耦服务之间的触发和交互,能够帮助用户很好实现产品、系统之间...
- 2.2k star,一款业界领先的私有云+在线文档管理系统
-
简介kodbox可道云(原KodExplorer)是业内领先的企业私有云和在线文档管理系统,为个人网站、企业私有云部署、网络存储、在线文档管理、在线办公等提供安全可控,简便易用、可高度定制的私有云产品...
- 再次升级!阿里云Kubernetes日志解决方案
-
背景针对K8S日志采集存在的采集目标多、弹性伸缩难、运维成本大、侵入性高、采集性能低等问题,在18年2月份日志服务和容器服务团队一起发布了阿里云Kubernetes日志解决方案。1分钟内即可完成整个集...
- 基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构(附源码)
-
前言zheng项目不仅仅是一个开发架构,而是努力打造一套从前端模板-基础框架-分布式架构-开源项目-持续集成-自动化部署-系统监测-无缝升级的全方位J2EE企业级开发解...
- 一周热门
-
-
Python实现人事自动打卡,再也不会被批评
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
python使用fitz模块提取pdf中的图片
-
《人人译客》如何规划你的移动电商网站(2)
-
Jupyterhub安装教程 jupyter怎么安装包
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- table.render (33)
- uniapp textarea (33)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)