开发者学堂课程【事件总线 EventBridge 生态集成课程:事件总线+函数计算构建云上最好的事件驱动架构应用】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1235/detail/18406
事件总线+函数计算构建云上最好的事件驱动架构应用
内容介绍:
一、课前规划
二、实现驱动架构的本质
三、函数计算是云上实践驱动服务的最佳实践
四、相关案例分享
一、课前规划
今天的议题是事件总线+函数计算,构建云上最好的事件驱动架构应用。
关于今天的议题主要由4个部分组成:实践驱动架构的本质,为什么函数计算是云上实践驱动服务的最佳实践,为什么如此需要实践总线服务,最后一个部分会进行一些案例分享。
二、实现驱动架构的本质
(1)事件架构的本质
首先来到第一个部分,实现驱动架构的本质,要重新去讨论事件驱动的一个本质,主要原因是事件驱动并不是一个新的概念,它已经存在了一个很久很久的时间,并且大家对他的讨论也一直从未中断过,要去重新讨论事件驱动的时候,有必要重新回到它最开始的一个样子。那首先这些是从相关的一些资料上查到的,关于事件驱动是一个能概括它的宏观描述,包括抽象、简单、异步消息驱动,这几个概念基本上从事件驱动的这样一个原始的抽象概念,到它具体的要实现的这样一个目的,以及最终它的一个实际的形态,进行了一个简单的抽象,在了解了这些抽象之后,有必要再去进一步去理解实现驱动架构的它的设计的一些基本概念。
(2)事件驱动的基本概念
从相关的资料中获得的关于事件驱动的一个基本概念,其实整体来说主要包含4个部分,第一个也就是事件produce,就是事件产生事件的第二个部分关于事件通道,也就是负责事件的这样一个收集以及事件的最终的这样一个订阅的推送。最后第三个部分的话是关于事件的这样一个处理引擎,也就是去如何去消费这样一个事件。
是关于这样一个当stream的这个 In the dream的一个处理,就是说当去处理完一个事件之后,如何再去针对这样的一个事件处理做后续的操作,包括去做一些短信通知,邮件通知相关的这样一个内容。
(3)事件架构的基本形态
那在了解了基本概念之后,来看一下整个事件驱动架构的一个基本形态,那首先看到在这样一个基本形态里面,涉及了刚才聊到的4个基本的这样一个概念,同时也会看到整个在事件的架构中的流转以及它的处理过程,那首先是事件生产者将这个事件投递到这个事件通道,那最后由这个事件处理这个引擎,通过异步化的方式去订阅,从事件通道去订阅相关的消息,在处理完消息之后,它可以做一些相关的downstream的一些处理,那downstream的话相关会和一些事件处理引擎有一些耦合,但也有一些这个主要取决于事件处理引擎的一个具体的一个实践,这是关于整个事件驱动的这样一个基本形态。看到这样一个基本形态之后,通过事件通道的这样一个引入去解耦了,事件生产跟以及事件处理这两个最基本的功能单元。
(4)事件架构的达成目的
整个在了解了这个实践驱动基本形态之后,去来看一下事件驱动架构所要达成的这样一个目的,首先通过这样一个事件通道的这样一个引入去解耦了,事件生产和事件处理那实现了一个系统之间的这样一个同时伴随着事件系统的解耦之后,事件处理部分可以它针对事件的这样一个数据面,同时可以提供更加灵活的这样一个弹性能力,可以更好的去利用后端的这一个处理处理的能力,去更好的去消费实践通道上所订阅的事件。
同时它也是对这样一个响应式的事件的一个能力的一个最基本的一个要求,那在实现了这样的一个结构以及它的一个弹性能力之后,最终的这样一个事件驱动的架构,也是希望能够借助实现这样一个系统的可扩展能力。
三、函数计算是云上实践驱动服务的最佳实践
第二个部分,为什么函数计算是云上事件驱动服务的最佳实践,关于什么是函数计算,函数计算是一款基于事件驱动的全托管计算服务,关于一款计算服务,接下来会从两个方面进行一个详细的介绍。
(1)函数计算编程范式让应用开发更简单
首先会从它的这样一个开发方式上,也就是函数计算的一个编程范式,能够去了解它它是怎样的一个运转。
首先开发者通过去按照函数计算的这样一个编程范式去编写代码,最后去上传,上传之后进行一个部署,那最终的一个函数的话,如何去执行,可以通过这样一个API的调用或者是SDK的相关的一个Diao,也可以通过去创建一些语音产品的这样一个事件的一个订阅,然后通过云产品相关的事件去触发这样的一个函数,按请求响应式的去执行,最终实现这样一个弹性执行按量付费的这样一个模式。
为了配合这样一个响应式的架构,在函数计算其实这样一个敏捷的架构下,可以去提供了这些免运维即是弹性以及 um高的这样一个资源利润,最终是希望能够客户利用函数计算这样的一个平台,只专注业务代码开发,面向函数极简编程,同时能够去针对这样一个解耦式的这样一个应用架构,通过使用多种不同的这种编程语言去满足不同开发者是需要。然后最后利用云产品之间的这样一个集成以及事件驱动的方式,提供这样一个案请求,按响应式的这样一个计算服务。
(2)函数计算模型让计算运行成本更低
函数计算的一个底层计算的一个模型。首先函数计算通过提供这样一个极致弹性的这样一个基础能力,那能够做到按照请求去响应,能够根据用户的这样一个事件的推送的能力,动态式的进行响应,通过弹性的这样一个能力去满足上游事件触发的这样一个需求,真正的去做到响应式的按需的这样一个实现,客户事件处理的这么一个需求,那函数计算在为了满足去构建这样一个开箱禁用以及事件驱动的响应式的这样一个云上服务的能力。函数计算其实跟阿里云很多的这样一个语音产品进行了一个深度集成,同时构建了针对多个数据源的或多个数据源以及云产品的事件的这样一个响应式的通道,包括这种对象存储以及日志存储、消息服务等等cdnlt Api网关等等这些服务,可以去利用这些服务去构建一个事件驱动型的这样一个应用。
(3)函数计算对于事件驱动的核心价值
关于在谈到就是为什么函数计算是云上最佳的事件驱动型架构服务,这里面可能要去谈函数计算对于事件驱动的核心价值到底是什么。
那关于事件驱动其实是一直都存在的,那到底是什么变化了,在事件驱动在没有函数计算的时候,同样也有事件驱动,在微服务的时候也同样有事件驱动,以及到现在去做倡导所谓的service的时候,重新再去讨论事件驱动的时候,它到底有哪些本质的区别,来在关于服务的这样一个枢纽和以及它的这样一个快速开发,快速部署,这样一个独立的这样一个提供一个服务弹性能力,那这些需求从事件驱动开始到现在,他追求的这样一个目标从没有变过,那事件函数计算的引入,如何去在它追求的这些目标,帮助他更好的去实现这些目标,主要是有两个方便。
第一个方面的话就是函数计算的这样一个敏捷的开发模式,专注业务的这样一个开发模式,能够更快速的更并敏捷的去实现这样一个事件处理引擎所应该承担的这样一个客户的这个计算逻辑。另外一个的话是函数计算提供的这样一个更细腻度的计算弹性能力,以及它的高并发以及急速的这样一个响应,能够能够去资源层面以及在从运行层面去支撑事件处理引擎的这样一个高弹性以及可扩展的这样一个能力需求,对应到这样一个分布式系统以及包括之前微服务关于这样一个stability的这样一个追求来看,现在函数计算都能够从 us三个维度去帮助实现这样一个后端事件处理引擎的这样一个弹性能力,这也是函数计算对于事件驱动这样一个架构的一个最核心的价值,也是为什么说函数计算是构建云上实现驱动架构的最佳实践。