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

本文涉及的产品
对象存储 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 架构模式
相关文章
|
2天前
|
Cloud Native 持续交付 云计算
探索云原生架构:构建现代应用的新范式
在当今数字化浪潮中,云原生架构以其敏捷性、弹性和可扩展性成为企业技术转型的核心驱动力。本文将引领读者深入理解云原生的概念,剖析其关键技术组件——微服务、容器化、DevOps实践及持续交付/持续部署流程,并揭示这些技术如何相互协作,共同构建高效、可靠且易于管理的现代软件系统。通过对云原生架构的全面解读,我们旨在为开发者、架构师乃至企业决策者提供有价值的见解与指导,助力其在快速变化的市场环境中保持竞争力。
|
1天前
|
前端开发 测试技术 API
探索微前端架构:构建现代化的前端应用
在软件开发中,传统单体架构已难以满足快速迭代需求,微前端架构应运而生。它将前端应用拆分成多个小型、独立的服务,每个服务均可独立开发、测试和部署。本文介绍微前端架构的概念与优势,并指导如何实施。微前端架构具备自治性、技术多样性和共享核心的特点,能够加速开发、提高可维护性,并支持灵活部署策略。实施步骤包括定义服务边界、选择架构模式、建立共享核心、配置跨服务通信及实现独立部署。尽管面临服务耦合、状态同步等挑战,合理规划仍可有效应对。
|
1天前
|
Cloud Native Devops 持续交付
探秘云原生架构:构建高效、灵活的现代应用
在当今数字化时代,企业面临着日益复杂的技术挑战和快速变化的业务需求。为了适应这种环境,云原生架构应运而生。本文将带您深入了解云原生的核心概念、关键技术和应用案例,揭示其在提升业务效率、降低运维成本方面的独特优势。通过阅读本文,您将获得关于如何利用云原生技术构建现代化应用的宝贵见解。
8 0
|
4天前
|
传感器 监控 物联网
无线传感器网络的基本架构及其广泛应用
无线传感器网络的基本架构及其广泛应用
20 0
|
3天前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
3天前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
30天前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器到微服务的架构演变
【8月更文挑战第29天】在数字化时代的浪潮下,云原生技术以其灵活性、可扩展性和弹性管理成为企业数字化转型的关键。本文将通过浅显易懂的语言和生动的比喻,带领读者了解云原生的基本概念,探索容器化技术的奥秘,并深入微服务架构的世界。我们将一起见证代码如何转化为现实中的服务,实现快速迭代和高效部署。无论你是初学者还是有经验的开发者,这篇文章都会为你打开一扇通往云原生世界的大门。
|
5天前
|
JSON 监控 安全
探索微服务架构中的API网关模式
【9月更文挑战第22天】在微服务架构的海洋中,API网关如同一位智慧的守门人,不仅管理着服务的进出,还维护着整个系统的秩序。本文将带你一探究竟,看看这位守门人是如何工作的,以及它为何成为现代云原生应用不可或缺的一部分。从流量控制到安全防护,再到服务聚合,我们将一起解锁API网关的秘密。
|
15天前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
24 3
|
19天前
|
监控 负载均衡 应用服务中间件
探索微服务架构下的API网关设计与实践
在数字化浪潮中,微服务架构以其灵活性和可扩展性成为企业IT架构的宠儿。本文将深入浅出地介绍微服务架构下API网关的关键作用,探讨其设计原则与实践要点,旨在帮助读者更好地理解和应用API网关,优化微服务间的通信效率和安全性,实现服务的高可用性和伸缩性。
38 3