EventBridge 事件领域重点特性介绍(一)| 学习笔记

简介: 快速学习 EventBridge事件领域重点特性介绍。

开发者学堂课程【EventBridge 入门课程 :EventBridge 事件领域重点特性介绍(一)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1220/detail/18280


EventBridge 事件领域重点特性介绍

 

内容介绍

一、概括

二、EDA 和 EventBridge 概述

三、Iac 简介

四、演示

 

一、概括

今天给大家介绍 EventBridge 重点特性和如何以 IaC 的方式使用 EventBridge。EventBridge 作为构建 EDA 架构的基础设施,通过一些核心价值和特性提供了很灵活的丰富的事件收集、事件处理和事件路由的能力。

对不少用户来讲,通过控制台使用 EventBridge 是最便捷最快的一种上手方式。然而也有很多用户面临着大量的云产品的管理,使用控制台管理每一个资源就变成了很沉重的手工操作的负担。现在已经能够通过 OPTI,将 EventBridge 能力方便快捷来用,接下来将介绍 EventBridge 和 IaC 的重点概念和特性。也是怎样基于 IaC 的理念部署 EventBridge。

 

二、EDA 和 EventBridge 概述

image.png

首先介绍 EDA 架构,Event-Driven Architecture 即事件驱动架构。事件驱动架构是一种所有和分布式的架构。当收集到某应用产车事件之后,实时的对事件采取处理,然后录入到下游的系统,不需要等待下游事件的响应。使用事件总线 EventBridge 可以构建各种简单的或者是复杂的试验集中架构,通过标准化的高去连接云产品和应用,包括第三方 SaaS 等。

事件驱动架构本身需要具备加三个能力,有事件收集,事件处理,还有事件路由。具备这些能力之后,可以通过事件驱动架构获取以下这些优势包括降低友和降低生产。当生产者和生产者产生事件时,EventBridge 产生事件时,并不需要关注订阅者是谁,只需要关注事件的发生。也不需要关注这个事件应该被怎么处理,怎么录由,任何一个环节出现了问题,也不会影响其他的正常运行。然后异步的执行,这驱动架构非常适合异步商品。当产生了一个事件的高峰期,收集各种来源的事件之后,仍然会保留在这个事件的总线上。然后逐步的分发,传递给下游的消费者。也不会造成系统的拥塞或者资源过剩。另外是可发展性事件驱动架构的路由和 filter 和路由的能力,支持划分服务,并扩展路分发。然后敏捷实现驱动架构已经支持跟阿里云上的各个云产品和应用集成也支持实现路由至任何系统。只要能够对接到 EventBridge 上就可以,就能够提供一个非常便捷的敏捷高效的部署团。那 EventBridge 怎么样去搭建这种加工?阿里云提供了一个无服务器事件现总线服务,主要提供这几个核心的概念,用来满足构建 EDA 架构的需要。

image.png

可以看到图上下半部分从左到右分别是事件源、事件总线和事件目标。在 EventBridge 中事件源主要分为两类。一类是阿里云的官方事件源,来自于各个云产品所产生的事件。另一类是自定义事件源,所有类型的自定义事件源像第三方 SaaS 应用定义的一些事件源。接下来是事件总线,也分为两类。一类是云服务专用总线,它只接受来自阿里云服务产生的事件。其他的是自定义总线,所有类型的自定义事件源投递到自定义事件总线上。在 EventBridge 中事件规则包含两部分。一是事件模式,主要用于过滤事件,将事件路由到自定义目标,包含一个或多个事件目标,所列出来的并不止局限于此。同样是通过规则来描述。包括事件的转换和处理以及最终消费使用哪个 target 来消费这个事件。EventBridge 通过提供简洁的事件匹配语法和灵活的事件转换能力来实现事件规则。后面也会通过演示来展示具体的例子。EventBridge  还提供一些增强能力。这些增强能力使 EDA 加工的事件变得更加透明。事件的追踪可以通过发布到事件总线 EventBridge 的事件内容和处理轨迹,帮助做事件统计的流程诊断。

事件分析是通过提供数据检索对发布到事件总线的各种可视化处理。方便用户发现所有流经 EventBridge 事件的价值。有几个截图展示大概的样子。

image.png

目前事件分析已经部署在了深圳和成都。接下来分析能力很快也会在其他的上线。

 

三、Iac 简介

image.png

IaC 是非常重要的组成部分,将基础设施代码化,可以轻松借助版本便捷地协调多人合作。可以实施非常严格的,借助判断工具,自动触发进行资源部署。开发者只需要付出很少的努力,就可以获得云上服务、资源,极大地缩短部署时间。IaC 代码的实践中一般有两种方式。一个是命令式,另外一个是生命式。

命令式顾名思义发出每个动作的指令,描述 how,比如要创建一台某某规格的 ecs。描述重点是创建的动作。再把需要每一个步动作的顺序去仔细编排,处理各种可能的错误,尤其要注意处理好每次变更对这种已经存在的资源的影响。否则稍有不慎,可能就造成了服务中断。作为开发者可以通过自己熟悉的这种编程语言阿里云 api来管理资源。因为这些 api 本身就是类似于像 create、 describe、delate 这种对某些资源的操作,所以很显然,这就是一种命令式的的事件。另外一种是生命式的。生命式意味着开发者只需要描述自己需求状态,就是描述 what,描述最终的一个状态。比如,描述一台 ECS,那它的描述就不需要说创建这个动作,而是只要说一台某某规格的 ECS 就好了,熟悉 DPS 同学应该对这种概念是比较熟悉的。这个跟 keepS,因为 keepS 的 api 也是采生命式的方式。像 IAC 工具可以通过描述当中资源之间的一些依赖关系,自动编排顺序。如果已经有存在的资源,也会正确去处理,比如不存在的时候,就创建,存在就对比期望状态跟实际的状态,这两者的差异,然后根据这种差异做出更新。可以看出来这种方式对开发者非常友好,极大地降低了开发新质负担。综合来讲的 IaC 带来的优势有这几种。分三类优势,第一个是降低成本,一是有效的管理资源,使得资源持有成本能够得到有效的控制。然后再就是减少了为控制管理资源而付出的人力的成本,这也是一块不小的成本。然后是效率提升。整体上会采用 IaC 之后会加快资源的交付和软件部署的速度,这就意味着整体的开发效率的提升。然后第三个也是很关键的一点,是风险控制。因为通过 IaC 刚才也讲到了可以利用控制工具来做一些事件的 review。还包括一些自动化工具来做多个环境的提高技术架构一致性的操作。减少了错误,提高了一致性,并且能够消除不同环境之间配置的偏差,或者期望状态与实际状态之间配置的偏差。就有效的控制了线基础设施的一些风险。然后这里是主要以 telphone 来举例。telphone作为一个IC 领域的佼佼者,提供了比较强大的自动化的管理基础设施能力,生态很丰富,几乎所有的云厂商都提供了官方的插件。阿里云也提供了自己的官方插件,而且阿里云的大多数产品包括 EventBridge 也对 telphone 做了很全面的支持。使得跨多云部署基础设施变的极其简单。然后既然是 IC,telphone还是提供了自己的一个配置语言叫 HCL。HCL 具有一个类似 jason 的这种简单的语法。但是很类似的很简单直观的一种语法,也是通过生命式的一种资源描述,能让开发者快速上手。

相关文章
|
缓存 监控 NoSQL
【Redis性能瓶颈揭秘】「调优系列」深入分析热Key的排查策略和解决方案
【Redis性能瓶颈揭秘】「调优系列」深入分析热Key的排查策略和解决方案
216099 12
|
机器学习/深度学习 算法 Serverless
大模型开发:描述损失函数的作用以及一些常见的损失函数。
损失函数在机器学习中至关重要,用于衡量预测误差、优化模型、评估性能及选择模型。常见类型包括均方误差(MSE)、均方根误差(RMSE)、交叉熵损失(适用于分类)、绝对误差(MAE)、hinge损失(SVMs)、0-1损失、对数似然损失和Focal Loss(应对类别不平衡)。选择时要考虑模型性质、数据特征和优化需求。
1505 3
|
资源调度 算法 JavaScript
Python基础专题 - 超级详细的 Random(随机)原理解析与编程实践
Python基础专题 - 超级详细的 Random(随机)原理解析与编程实践
1751 0
SAP报错:科目要求一个成本分配的处理方式
SAP MM模块有时候会经常遇见这样的报错:科目XXXXX要求一个成本会计分配,很多小伙伴就无从下手!笔者也在一次做采购订单运费的条件类型测试时,在MIGO收货时,系统提示“科目XXXXX要求一 一个成本会计分配”报错!
SAP报错:科目要求一个成本分配的处理方式
|
11月前
|
算法 安全 搜索推荐
套用算法模板备案审核问题增多的原因及解决建议
随着算法备案要求的完善,企业常因使用网上廉价模板而遭遇审核通过率低、问题增多的困境。本文分析了审核不通过的原因,包括模板缺乏针对性、审核标准严格、审核人员主观差异及企业准备不足等,并提出建议:深入了解备案要求、准备详尽材料、避免通用模板、寻求专业帮助。备案后还需持续合规管理,确保算法服务安全运行。
|
数据采集 前端开发 数据挖掘
利用 html_table 函数轻松获取网页中的表格数据
本文介绍了如何使用 R 语言中的 `html_table` 函数结合代理 IP 技术,轻松提取网页表格数据并规避反爬机制。通过设置代理和请求头,示例代码展示了如何从 58 同城采集租房信息并保存为 CSV 文件。该方法适用于需要频繁采集数据的场景,确保数据采集的高效和稳定性。
486 2
利用 html_table 函数轻松获取网页中的表格数据
|
消息中间件 程序员 Kafka
抢购不再卡顿!揭秘异步处理如何优化秒杀流程!
本文由程序员小米分享,详细介绍了如何通过异步处理简化秒杀请求中的业务流程,提高系统效率与稳定性。主要内容包括秒杀场景的挑战、核心思路、核心业务(生成订单、扣减库存)及次要业务(发放优惠券、增加积分)的异步处理方法,并探讨了使用消息队列的优势及优化用户体验的策略。通过异步处理,系统能更好地应对高并发请求,提升响应速度和稳定性。
441 4
抢购不再卡顿!揭秘异步处理如何优化秒杀流程!
|
运维 网络协议 搜索推荐
内核网络小白之故障寻踪记
本文记述了一次由 skb(socket buffer)异常导致的内核故障排查过程。
411 12
链表的时间复杂度和空间复杂度
链表的时间复杂度和空间复杂度
1663 1
|
数据可视化 关系型数据库 MySQL
解决用软件登陆的Mysql8数据库时,报错:Authentication plugin ‘caching_sha2_password‘ cannot be loaded
解决用软件登陆的Mysql8数据库时,报错:Authentication plugin ‘caching_sha2_password‘ cannot be loaded
1817 0
解决用软件登陆的Mysql8数据库时,报错:Authentication plugin ‘caching_sha2_password‘ cannot be loaded