开发者学堂课程【EventBridge 入门课程 :EventBridge 事件总线及 EDA 架构解析(二)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1220/detail/18276
EventBridge 事件总线及 EDA 架构解析
二、概述
接下来大家去看的一个类似于我们这边去重点去推出的针对市区的架构的一个产品,也是我们实验驱动的一个比较核心的一个落地的一个场景。那么首先有 bridge 是什么,可以简单来看,他其实是一项类似于独立的service服务,然后他其实是可以帮助用户,包括就帮助我在我们没有编码的情况下去实时的订阅阿里云服务应用程序,还有包括我们sars应用里面的数据变化,这个其实是一个比较官方的一个概述,我们在通俗再简单一点讲,其实bridge它其实是一个中间件产品,然后他做的事情就像我们图里面描述的一样,他做的事情就是把我们的试验员和世界目标给连接起来,那怎么去连接。就是eda架构里面,下一段的系统不需要关注上看他具体的产生或者是不需要灌注其他的一些目标端,其实是做了两件事情,第一件事情就是说会有一个类似于叫做存储单元的一个概念,一个总线的一个概念,这个总线会把我们的事业员的一些信息,然后实时的推送到我们总线上,然后这个总线呢,其实很类似于我们的一个这样的列,就是团离自己一个专业的,就把我们的世界元的部分然后给收集上来。第二部分内容也是关键的一些能力,就是说我们其实有一个叫做云入的一个东西,他其实做了两件事情,第一件事情就是说我们会把总线里面的事件做一些过滤,就比方说可能要事件 tab 等于123的一个内容,我们就会把123t 等于123的事件给他过滤出来,然后过第一层是过滤,然后第二层我们还做了一些转换。就比方说我想要 type 123的一些事件,然后做一些孵化,比方说我要去加一个类似于内部的一个字段,比方说我要加一个内蒙的字段,可以通过类似于这个转换模板,然后给事件去孵化一个叫做内部的字段,然后把所有的一个事件封装成一个整体,然后包括我们要去归理的内容,还有包括转换的一些内容,试妆成一个事件整体,然后再去投送给我们最终的一个目标端,这个其实就是 range 的一个核心能力,它其实是在我们原有消息的一个服务的一个基础上,我们做了更多东西,就是我们理解了什么是事件,然后事件里面有哪些字段,因为我们要去对事件去做过滤,因为可能比方说某一些事情他要去推送的目标端是不一样的,然后推送到的一些类似的或者是观点也是不一样的,所以说其实这里最关键的一部分能力,其实就是我们的事件规则,就是我们的过滤和我们转换的一个规则,我们这块儿就是用它重点做的事儿,更改一下,就是说他其实就是做了一个服务,就是说我们把类似于源和目标给作为了一些连接,然后在这这个连接上呢,我们其实做了一些比方说我们包括我们总线也好,规则也好,然后我们其实做了一些类似于路由分发的一个能力,那这就是用 bridge 的一个详细的一个概述。
三、核心能力
核心能力主要有三块,第一块,它就是统一的整体的一个实验服务,然后并且重新定义了我们事件标准,打破了我们云产品,还有用户的一个事件孤岛的一个问题,我们把所有的事件都统一收集到一个入口上,然后通过这样的一个入口再去路由去做分法。
第二部分就是我们的数据管道,提供了试验驱动和我们实验流的一个数据的一个管道的一个能力,然后实现我们的一个比方说是计算了还包括离线计算的这样的一个场景。
然后第三部分其实是更加开放和支持,提供了比方说阿里云上的一些云产品的一些事件,还有包括我们可能后面会继续到类似于钉钉,或者是其他的一些夸产品。其实也是变相的促进了产品包括开发的一个 APP,我们应用程序还包括支撑,重点做的就是把我们所有的一些时间,给聚拢起来,让这个是这些射线产生更多价值,对架构这里其实之前也有讲过,其实也就是实验员,实验目标,然后中间我们做了一些事情,比方说我们做一些演员的一些接入的一些流程,目标接入的一些流程,以及我们相关的试验处理,比如过滤,转换,还有存款,还有包括内容追踪,那这些其实在后面也会讲到。模型介绍的话给大家去详细再更改一下,现在有的一个模型有两个经典的模型概述。
第一个模型其实就是叫事件总线的一个模型,它其实是一个非常经典的 NBA 的一个模型,然后他的能力就是说去前端去接收 n 多个类似于实验员,然后同样后段也去接受 n 多实验员,然后我去提供类似于这种消息路由,比方说世界匹配,还有包括实验转换等一系列的一些核心能力,然后帮助去把事件的一些类型收集包括过滤,包括路由的这样一些基础能力给做好,它其实是我们 eBay 价格违约首选,那除了这人,那除了这个模型之外,我们还支持了一个操作事件流的模型,世界流动模型相对于世界总线来看的话,它其实是一个1:1的模型,就是说他端和端必须首端和尾端必须是一,他不是人,他是一,所以说它其实就是一个五总线,一个概念,就是说中间没有那一层存储层,它只做类似于端到端的这种顺转处是同步,还有包括是处理的那一系列一些场景,它就是为我们多端的服务搭建了一个管道,比方说有一个很简单的一个场景,比方说我们做类似于 q 或者数据同步,然后用我们这样的一个 swimming 的一个流式的一个处理的一个场景。然后把比方说上海地域的 qq 同步到北京第一个 QQ,然后这块儿其实就是我们试验里的一个模型,同时的话,它中间其实也是有一些类似于过滤和转换的一些能力,刚刚聊到的事件规则的潜能力,然后帮助我们去把一些类似于不需要的事件或者是要去脱贫的一些时间给它过滤1点。
第二个模型,就是我们是事件流的一个模型。接下来我们现在的用 bridge 的开放和基层,他其实就是遵循了我们现有的 events 的一个协议,可以帮助我们去零代码或者是低代码的去连接我们的产品,易于应用,包括我们的SARS服务,那这一点其实也是我们重点去推进的一个类似于集成的一个方式,看看我们这里的事件,其实也是完全终止的和语文的一个标准的一些生理的一些方式,然后去做这种产品和应用的一些零件。
四、产品特性
我们具体的产品特性有哪些,我们其实可以总结出来去做实践集中管控或者是路由的一个产品,那在这个基础上其实有位置实现也做了很多重大的一些那些特性更新,或者叫做我们提升我们的应用性也好,做的是这样的一些事情。
那么下面其实也是做了一个总结,那第一点就是说我们其实有一些类似非常丰富的事件源支持,那这个是因为确实是可以涵盖我们现有的阿里云的全系列的一个产品,第二部分其实就是针对于世界规则的一个驱动,我们就可以通过实验规则,然后把我们的事件去路由丰富发到我们各个的一个产品上,然后我们第三点就是我们的 Bchema 管理。我们其实支持着我们事件的一个声明,还包括我们的注册,我们其实可以更透明或者是我们叫更健全的去管理查询,还有包括版本更迭,第四点就是我们之前开发的一个全流程,我们其实做了一些类似实验追踪的一些能力。
1. 丰富的事件源支持
第一点就是我们丰富的事件源的一个支持,可以发现,其实事件源在我们整体的一个生态事件生态里面就是非常核心的一部分,其实我们会发现就是除了我们现有汉语的一些云服务会产生海量的时间之外,比方说我们现在有一些自建服务,比方说我们之间的 qs 的一个集群,可能事件源会有很多,这个还是运维域的,我们在一起来看应用语,我们看业务也有很多类似事件,比方说我们的订单发送就刚刚讨论发送,包括我们业务系统的一个变更。还有包括,我们用户,状态的变更其实都是事件,所以现在其实是帮助大家把阿里云上的全部的云浮事件被收集到,然后更应用的去把这些事件去做一些类似于会归结,还有包括处理。
2. 事件规则推动
大部分其实就是也详细讲述了关于事件规则的一个东西,在我们实现规则其实支持的过滤和转换两部分,然后我们过滤可能会比方说我们有会做类似前缀和后缀。包括数字匹配这样的一系列的一些东西,然后帮助我们把事件利润过滤好,然后第二部分其实就是我们的转换器,我们其实是支持的类似于这种转换模式,不做任何处理,直接去把我们原生的作文词的一个事件上投递一点目标端。
3. Bchema 管理
然后第二部分我们只是用了这个 pass 的一个语法,然后把我们的一些朋友的一些事件可以提取出来,那第三部分我们其实可以不做处罚我们只把类似产量信息给发送到下游端,然后第四部分就是一些模板了,就比方说可以去渲染定一些模板,比方说可能要去孵化一些事件,其实可以通过这些模板转换器来做,那这个主要器其实在后续也会去更新更多的一些能力,比方说可能会结合 mc,然后去做更多的类似转换器,一个灵活的一些转换的一个方式,这块儿其实是我们市内驱动的一个内容。
4. 事件开发的全流程
后面的话就是我们刚提到的我们内衬的密码管理的一个能力,那其实刑法管理能力,它其实就是对那些实验事件信息的一个解释预览,还有包括上下游的一个代码的一个生成,然后帮助我们去更好的去开发事件,还有包括去开发事件所涉及到的一些捆绑的一些操作,在这里的功能描述,第一点就是协议支持,坚信我们的能力等一些东西,那管理这块儿的应用场景,其实主要还是针对于那些跨部门的一些类型沟通,还有包括这个事件我可能要分发给我们下游的一些合作伙伴,分发的时候,那我们其实就可以通过管理这个能力,然后告诉下游的一些类似和伙伴或者是系统也好,这些是密码到底有哪些,然后他的字段描述是怎样的,然后他具体的一个事件类型是什么,所以说他主要的一个场景还是那种类似跨部门的一个信息沟通,还有包括我们对于我们业务代码的一个数据结构的一个定义,就规范了我们对业务代码税结构的一个定义。那后面你讲述的其实就是我们的事件全流程,因为我们现在其实有 bridge 支持了的世界轨迹的一个能力,他会把我们的全部的事件,只要是我们输入我们的 ID,输入一个事件 ID,点一个查询,就可以看到整条事件链路,就是投递有整条事件电路的触发了一些投递状态也好,包括投递参数也好,包括它的响应,我们可以把整个事件给完全透明化的展示出来,这其实就是我针对于事件去做的可视化,包括可强势的一些东西,那这能力其实也是我们有重点的能力,我们真是解决了我们事件触发黑河的一个问题,然后解决了我们类似于对事件的一个集中管控,或者叫运美那个诉求。