事件总线+函数计算构建云上最好的事件驱动架构应用|学习笔记(二)

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 快速学习事件总线+函数计算构建云上最好的事件驱动架构应用

开发者学堂课程事件总线 EventBridge 生态集成课程事件总线+函数计算构建云上最好的事件驱动架构应用学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1235/detail/18406


事件总线+函数计算构建云上最好的事件驱动架构应用


(4)为什么需要事件总线服务

image.png

第三个问题,为什么如此需要实践总线服务,前面说过,已经通过函数计算和云上的众多的云产品进行了集成深度集成,提供了一些开箱即用的能力,同时也提供了一些触发通道。那么为什么还需要实践总线服务来去构建实践驱动这样一个应用架构,在整个去构建基于函数计算构建事件驱动的这样一个服务的过程中,面临了主要来自三个方面的挑战。

首先是需要去跟众多的这个事件员多样性所导致的这样一个接入困难,去将实践驱动的这样一个生态去更大化的去扩展到包括语音产品客户的客户自己的应用以及云上的一些SARS系统的时候,就会面临这样的一个众多的困难,同时面对不同的这样一个事件源的这个集成诉求,产品之间的授权复杂,非授权复杂度越来越高,针对不同的产品需要提供不同的这样一个授权策略,变得异常困难。最后基于这样一个事件集成的过程中,发现需要去沉淀一些更通用的在实践通道上能够提供一些更通用的能力的时候,发现随着这样一个实践员,不同实践员接入方式不同,这些能力的沉淀变得异常困难。那面对这样的挑战的情况下,急需一款服务或者是这样的一个产品接入的这样一个角色,能够统一的去提供一个事件驱动的这样一个因为它channel的这样一个接入面,帮助去更好的去解决来自这三个层面的挑战。那在这样的背景下,事件区事件总线作为承担这样一个角色的一个云上服务,事件总线跟函数计算的这样一个结合,可以去解决在事件驱动的这样一个生态构建的过程中所面临的这些问题。

下面是事件总线的一个基本架构模型,会看到事件总线的话,也是按照之前的这样一个事件驱动的架构去构建的这样一个通用的框架,包括整个事件源的接入,事件总线以及最终的这样一个下游事件处理引擎,以及它的事件目标。在这样一个架构下,事件总线服务能够更好的去对接不同的实践员,包括阿里云产品用户业务,业务服务以及相关的这样一个SARS事件。客户再去开通了这样一个事件总线服务的时候,那他会接收到整个来自阿里云200多款产品的这样一个产品事件,来帮助去构建这样一个云产品事件驱动架构的这样一个能力。

image.png

那同时除了这个云产品的架构以及下游的这样一个接入的能力之后,那面对一些更复杂的一些事件类型,包括事件流,去提供了这样一个英文的bridge,提供了一个事件流的架构模型,那通过这样一个事件流的架构模型,能够将上游的一些数据面的一些或者业务层面的一些消息,包括下列这些服务中间的数据,能够通过统一的这样一个事件流的这样一个通道,去到下游的这样一个函数计算,去统一去构建一个事件驱动型的这样一个架构服务,提供高性能的事件通道能力,最终再结合函数计算提供的这样一个数据处理引擎的这样一个弹性能力构建,帮助客户去构建更好的这样一个事件驱动型架构。

image.png

在这样的一个事件驱动型事件总线服务的引入,帮助去实现了这样的一个目的,首先去简化统一了事件源的接入,采用事件总线跟相关的实践员,采用开源的实践标准,去对接不同的云产品,解决了产品接入多样性带来的这样一个复杂度,以及面对不同的这个授权的这样一个复杂度,帮助去可以构建更加丰富的事件驱动生态。

image.png

第二个部分的话就是事件总线服务的引入,可以帮助去沉淀更通用的事件通道能力,包括在事件通道上去提供这样一个过滤转换的能力,可以提供事件通道的自定义能力,满足下游函数计算以及不同的这样一个事件目标,对事件处理的这样一个需求可以做一些前置的过滤,剔除掉一些不必要的事件,触发相关的这样一个无效的调用对下游的这样一个就是无效的这样一个资源的浪费。包括针对事件流的这样一个场景,去提供了一些通用的这样一个数据转换,以及基于函数计算的这样一个 remote transform的这样一个能力,同时针对事件流场景下,客户对于成本以及对于处理数据处理的一些聚合的需求,去提供了这样一个简单的一些窗口能力,包括Bachmann,他们这些能力可以更好的去帮助去处理客户的数据沉淀作为这个事件通道的一个通用能力,去服务众多的下游事件事件目标。

image.png

最后事件总线服务的引入,可以帮助去提供更利于产品集成的通用能力的这样一个提供,可以基于函数的这样一个URL,提供API端点端点能力,帮助更好的去以多种这样的一个形态去订阅消费上游的不同的类型的这个事件源的事件,最终构建出一个多态的这样一个事件驱动型架构模型。那在聊完了事件总线的一些引入,能够给事件驱动架构带来的一些基本好处之后,那接下来会去分享一些客户场景案例,去看看的客户是如何去利用事件总线和函数计算,构建自己的这样一个满足客户的这样一个业务诉求。

image.png

 

四、相关案例分享

image.png

首先第一个需求是在一些大的企业客户,通过事件总线以及通过这样一个 action trial的这样一个审计事件的这样一个订阅,通过函数计算去处理这些多个账号的这样一个action trial的这个事件,然后去做一些后续的这样一个审计,相关的一些报警,还有一些通知相关的操作,然后去管理不同的账号,对于资源的这样一个使用和操作的一些相关相关的后续的就是流程性工作,这是的第一个案例。

那第二个案例是的客户通过事件总线和函数计算,然后利用 oss类型的事件,通过去在oss上上传文件,然后根据上传文件的这样一个事件,以及去实现,去通过函数计算订阅相关的oss事件,去做操纵相关的云上资源,做一个资源扩容,这是看到的第二个客户用例。然后将客户操作的一些结果,再通过实践总线提供的下游upstream的通用能力,再去通知到相关的业务方进行一个事件的通知。

image.png

第三个部分的话,也是看到一个比较常见的一个云上的操作,包括云上的一些资源的自动化申请,那看到的客户通过将自己这个描述的一些资源申请的这样一个 get UPS的一些描述,telephone的文件通过上传到oss然后通过oss触发投事件投递到因为它不认证,然后再通过函数计算去订阅这样的一些相关事件,触发去执行telephone的相关的这样一个资源申请。

 

同时在这个执行过程中,用户可能在函数计算里面需要去访问自己的这样一个外部的一些API,然后去帮助自己更好的去打通云上资源跟客户这样一个多架构的多云架构的这样一个架构下的一个资源的协同能力,最后通过这样一个操作,然后也可以通过interpret提供的这些upstream的能力,将这样的一个操作去通知到相关,这是看到的另外一个场景。那基于上面的话主要是客户基于因为它range和函数计算针对语音产品的事件做的一些云产品运维以及审计相关的工作

image.png

另外一个部分的话也是基于客户基于视线流做业务消息的处理,会看到这样一个基本的架构,客户的话会将 produce作为一个微服务去去生产相关的这样一个数据,最终通过interpret的事件流能力去订阅这些消息,利用函数计算这样一个细度的资源能力以及消息的这样一个波峰波谷,这样一个对后端资源的这个弹性的需求模型的这样一个要求,可以结合函数计算去实现消息的一个更好的更快的消费,实现满足他的业务诉求。

那下面是针对在事件流这个场景下看到的几个具体的案例。那首先客户将应用性能数据写入通过先写入卡夫卡这样的一个语音产品,再通过因为它bring事件流的这样一个能力,将相关的这个数据清洗之后写入到oss为客户进一步做大数据处理,去做相关的这样一个前置数据数据清洗。

image.png

同时也可以在相关的一个数据清洗之后,它导入到clickhouse的这样一个服务,进行一个在线的数据分析,这是看到的。另一个客户的话是关于这个事件驱动,场景的这个数据一定要处理。那首先客户将自己的这样一个业务系统生产的这样一个数据书到了这个 APM 里面,再通过因为它range的这样一个时间流的能力去订阅的消息,通过在函数计算中对这些数据进行 et要处理,然后做后续的这样一个相关的操作。

image.png

最后一个场景的话是看到的客户利用事件总线以及函数计算构建的这样一个购物车运营通知的这个事件驱动架构。首先客户在客户会在购物车的这样一个架构架构的行为,以及商品的这样一个价格变动,以及它的一个过期的相关的一个通知的情况下,会去通知它的整个业务服务业务服务,再通过函数计算的这样一个相关的能力去通知他的客户方现在购物车相关的产品的一些变动做一些运营操作,那最后将这样的一个运营操作的结果在进行到输入,后续通过interpret的这样一个通路再去订阅绕开明做后续的这样一个数据的清洗以及入库操作,实现自己的整个购物车的这样一个运营的流程。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
5天前
|
弹性计算 Kubernetes 安全
Kubernetes 的架构问题之在Serverless Container中保障应用的安全防护如何解决
Kubernetes 的架构问题之在Serverless Container中保障应用的安全防护如何解决
46 8
|
1天前
|
监控 Java 开发者
随着软件开发的发展,传统单体应用已难以适应现代业务需求,微服务架构因此兴起,成为构建可伸缩、分布式系统的主流
随着软件开发的发展,传统单体应用已难以适应现代业务需求,微服务架构因此兴起,成为构建可伸缩、分布式系统的主流。本文探讨Java微服务架构的设计原则与实践。核心思想是将应用拆分为独立服务单元,增强模块化与扩展性。Java开发者可利用Spring Boot等框架简化开发流程。设计时需遵循单一职责、自治性和面向接口编程的原则。以电商系统为例,将订单处理、商品管理和用户认证等拆分为独立服务,提高可维护性和容错能力。还需考虑服务间通信、数据一致性及监控等高级话题。掌握这些原则和工具,开发者能构建高效、可维护的微服务应用,更好地应对未来挑战。
5 1
|
3天前
|
弹性计算 监控 数据挖掘
事件驱动架构的优势与应用:深度解析与实战应用
【8月更文挑战第17天】事件驱动架构以其松耦合、可扩展性、异步处理、实时性和高可靠性等优势,在实时数据处理、复杂业务流程、弹性伸缩和实时通信等多个领域展现出巨大的应用潜力。通过合理应用事件驱动架构,可以构建灵活、可扩展和可维护的系统架构,满足不断变化的业务需求和技术挑战。对于开发者而言,深入理解事件驱动架构的核心概念和优势,将有助于更好地设计和实现高质量的软件系统。
|
14天前
|
人工智能 Serverless API
AI 创业及变现新思路:零门槛 AI 绘图,定制 ComfyUI Serverless API 应用
为了帮助用户高效率、低成本应对企业级复杂场景,本文介绍 ComfyUI API Serverless 版解决方案,通过使用该方案,用户可以充分利用 ComfyUI +Serverless 技术优势快速开发上线 AI 绘画应用,期待为广大开发者 AI 绘画创业及变现提供思路。
|
20天前
|
运维 Serverless Docker
Serverless 应用引擎使用问题之如何设置初始值和自动扩容策略
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
20天前
|
弹性计算 Dubbo Serverless
Serverless 应用引擎操作报错合集之遇到400错误,该如何处理
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
20天前
|
监控 Serverless 应用服务中间件
Serverless 应用引擎操作报错合集之删除通配符域名时遇到了报错,该如何处理
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
20天前
|
弹性计算 Java Serverless
Serverless 应用引擎操作报错合集之上传自定义JAR包,启动时报错,是什么导致的
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
20天前
|
运维 Kubernetes Serverless
Serverless 应用引擎使用问题之s.yaml文件中如何使用外部环境变量
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。