通过 EventBridge 快速集成云服务(一)| 学习笔记

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 快速学习通过 EventBridge 快速集成云服务。

开发者学堂课程【EventBridge 入门课程 :通过 EventBridge 快速集成云服务(一)】学习笔记,与课程紧密联系,让用户快速学习知识。

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


通过 EventBridge 快速集成云服务

 

内容介绍

一、EventBridge 介绍

二、事件集成

三、事件流集成

 

一、EventBridge 介绍

image.png

EventBridge 是阿里云所推出的一款无服务器事件总线。它的目标是帮助企业落地  EDA 架构作为事件的枢纽。首先介绍什么是 EDA 架构。EDA 的全名为事件驱动架构。它不同于传统使用 RPC 的那种方式。一个 request 必须要等到response 才能进入下一个任务。在 eda 架构下,系统之间的调用以及流程控制都是通过事件的形式来进行流转的。可以看见左边疑问的 producer 发生了事件之后。只需要将这个事件投入到事件中心之后就可以了。不像使用 IPC 的那种方式可能需要等到远端的响应确认这个事件片段真的有收到了才能进行下一步的操作。而右边的 event consumer 只需要接收事件并进行相应的处理即可。同时不同于传统的 MQ Event bridge 使用运营商标准事件格式cloud events 来描述事件。并且支持事件的过滤以及事件路由的能力。同时还可以将事件的内容主动推送给下游的服务。

image.png

在 event bridge中整体的事件流如下。事件源是产生事件的来源。现在在event bridge 中集成了阿里云服务官方事件。用户也可以自定义事件源通过 sdk 将事件发送到事件总线里面去。同时也可以把一些消息产品直接作为一个事件源,把事件导入到总线。或者通过 HE 的方式快速将 saas 应用进入到总线里面去。事件总线是 event bridge 中存储事件的一个地方,分为云服务专用总线以及自定义总线。所有的阿里云官方的事件都会投递到云服务专用总线里面。而其他事件源会投回到 sting 总线。可以定义事件的规则来进行事件的过滤和转换。 Event bridge 现在已经支持了十种左右的过滤和匹配的操作。例如用户可以根据事件的内容进行过滤,选择部分的事件投递到下游。事件目标是接收事件下游。现在已经支持了很多种的事件目标。例如用户可以直接将事件投进到钉钉群。

 

二、事件集成

下面来介绍一下怎么来进行集成 Event bridge 上面的试营云产品的事件。

image.png

现在 Event Bridge已经拥有了80多种云产品的事件源。同时也拥有八百多种事件的类型。整个的事件的生态还正在逐步的一个丰富的过程中。

image.png

总线的控制台可以看见一个名为 default 的事件总线。云产品的事件都会投递到这个总线中去。点击创建规则可以选择所关心的云产品以及他相关的事件进行事件的监听和投递。下面会以 oasis 事件源为例,来讲解一下如何集成os事件。

image.png

现在主要分为四个类型,操作审计相关云监控配置成绩相关。还有以及云产品相关的一些事件。例如 put object 就是上传文件等。其他的云产品的事件源也类似,基本上都可以分为这几个类型的事件。下面将演示一个 sample 是基于事件驱动的一个在线文件解压服务。这是它的整体的一个结构。

image.png

在 bucket 下面会有一个 Zip 文件夹存放需要解压的文件。一个 on zip 文件夹存放解压后的文件。会上传文件到 ZIP文件夹。上传过后,会触发文件上传的事件。并投递到 Event bridge 云服务专用总线。会使用一个事件规则来对 zip这个文件夹的事件进行过滤。然后把这个事件投递到解压服务的 Http point。在收到事件过后,根据事件里的文件路径,从 oss 里面下载文件下来,然后进行解压将文件上传到 bucket on ZIP 目录下面。同时,还有一个实验规则坚定的是 zip 目录的文件上传事件。然后把事件经过转换过后,投递到了钉钉群。下面一起来看一下怎么操作?

image.png

首先这里创建好了一个 bucket。下面有一个 ZIP 目录。用于存放上传的压缩文件。一个 on ZIP 目录用于存放解压的文件。这里使用了 ack 部署好了一个解压服务,并且暴露了一个工网访问的地址。下面创建事件规则来监听 ZIP 目录下的上传文件事件,并投递到解压服务的那个 HTTP point。填写一下名称。而这里选择 oa 的事件源。这里应该由于后面会通过控制台进行上传,随选的 post object。然后新生 subject 来匹配 ZIP 目录。而这里选择 http 的 point。填入解压服务的地址。完整创建。下面再创建一个事件规则来监听 on zip 目录的事件。同样这里选择事件源为 oss。然后这里选择事件类型为 object。也新增一个 subject。来匹配 on zip 目录。然后填入钉钉机器人的地址。然后还有密钥,以及变量定义和模板。还要完成创建。这里看一下这个事件目标的配置。Event bridge 这里会通过 past 方式。从事件里面提取参数。然后把这些值放到变量中去。最后通过模板定义渲染出那个最终的输出结果投递到事件目标。这是 put object 的一个事件的样例。把文件的名字提出来,推送到经营机器人。然后现在的路径文件名所的路径是 data object。Data oss object key。所以这边所配置的 name 的变量就是这个。在模板里面就可以引用定义好的变量。然后把定义的 name 变量放到了模板里面,进行动态的渲染。下面上传文件来验证一下。点击上面文件选择压缩文件,点击上传。到这里已经上去了。然后打开 ZIP 目录。可以看到,刚刚上传上的已经解压了。然后这是公司的那个文件内容。来看一下钉钉群也收到那个通知。还可以在事件追踪查看事件的内容以及投递的轨迹。而这一选下事件源。一看到两个事件。总结一下操作步骤。

image.png

首先部署解压服务,然后在云服务专用总线下创建事件规则,将 zip 文件夹下的上传文件事件推送到解压服务,再创建钉钉机器人,在云服务专用总线下创建事件规则,将 unzip 文件夹下的上传文件事件推送到钉钉群,上传文件进行验证。

image.png

下面我们再通过一个 sample 看一下如何通过以自定义事件源以及云产品事件为目标的方式集成云产品。这个 sample 的最终效果是通过 Event bridge 来进行自动的数据的清洗,并投递到 Rds 中去。事件内容是 jason 的格式。那以看见左边拥有两个字段,一个 name,一个age。希望把大于十岁的用户提取并过滤出来。然后转存到 RDS 的数据库里。整体的架构如所示。

image.png

使用了 MNS Queue 作为自定义事件源。然后并通过 Event bridge 的过滤。转换过后,直接输出到RDS 中去。看一下如何实现这个过程。首先已经创建好了一个 MNS Queue。创建一个自定义事件总线。填一下事件总线的名称和事件源的名称。选择提供方为 MS。这里可以稍后再来配置。然后可以看见事件源已经有了一个MS 事件源正在运行了。那下面创建规则,投递到 RDS。这里已经创建好了一个 RDS 的实例以及数据库的表了。然后拥有这几个字段。这里选择自定义事件源,配置一下过滤规则。可以看见过滤规则稍微会复杂一点。看一下自定义事件源事件格式。在data 下面有一个 message body 作为我们 MSQ 的消息内容。如果我们的 ms 的消息内容是一个 Jason 格式的话。这里会是一个 jason。这样就可以使用事件模式来进行过滤了。在这里因为是个 Jason,所以就可以把那个 age 提取出来。进行过滤,仅需要 age 大于十的这些事件。进行下一步。选择数据库的实例。然后填写数据库账号和密码。选择一下安全组。填一下目标的表明。然后这边。配一下事件的 jason pass。以及可对应的数据库的列的一个应酬关系。然后就完全创建。看一下事件的配置,这里同样自动生成的那个变量,以及 C 语句。当然也可以自己直接编写这些变量的定义以及模板来进行一些配置。下面来验证一下。先通过 MNS Queue 发送消息。这个 age 是首先发个大于十的。发送成功了。可以看见这个事件已经成功写到数据库里面,下面不再来一个小于十的。可以看那个事件就被直接被过滤掉了。资金总线的话也可以在深圳追踪查看事件。这是第一条。可以看见被成功投递到数据库里面。这是第二条。Age 是小于十的。可以看见事件直接就被过滤掉了。总结一下过程。

image.png

首先创建 MSQ,然后创建 RDS 实例,创建数据库,配置一个自定义总线,选择 MNS Queue 作为自定义事件源。然后配置事件规则和过滤条件,过滤条件是 age 大于十。然后配置事件目标,将它投递到 RDS 里面。然后最终发送了两条消息进行验证。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
Java jenkins Shell
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
|
2月前
|
监控 数据可视化 Devops
Grafana 与云服务提供商的集成
【8月更文第29天】Grafana 是一个强大的数据可视化工具,可以与多种数据源集成,从而为用户提供详细的监控和分析仪表板。在云服务时代,Grafana 的这种灵活性使得它能够轻松地与 AWS、Azure 和 Google Cloud 等云服务提供商的数据源集成,帮助 DevOps 和 SRE 团队更好地监控云资源的状态。本文将介绍如何将 Grafana 与这些主流云服务提供商的数据源集成。
39 1
|
2月前
|
jenkins 持续交付
jenkins学习笔记之六:共享库方式集成构建工具
jenkins学习笔记之六:共享库方式集成构建工具
|
2月前
|
弹性计算 JSON 监控
EventBridge:构建SaaS应用集成的桥梁,让数据流动成为一场精彩的交响乐!
【8月更文挑战第8天】在云计算时代,SaaS应用因灵活性和可扩展性备受青睐,但多应用环境下的数据共享成为挑战。Amazon EventBridge作为一款无服务器事件总线服务,支持应用程序、SaaS应用及AWS服务间的事件驱动交互。它简化了事件产生、路由与处理流程,支持自定义与内置事件,实现应用间松耦合集成,提升系统可维护性和扩展性。通过定义业务相关事件、创建事件模式及规则,可轻松配置目标动作(如Lambda函数),实现如新订单触发CRM更新等场景。EventBridge提供高效灵活的集成方式,有助于提高应用响应性和可扩展性,成为云架构师不可或缺的技能之一。
42 7
|
2月前
|
存储 C# 关系型数据库
“云端融合:WPF应用无缝对接Azure与AWS——从Blob存储到RDS数据库,全面解析跨平台云服务集成的最佳实践”
【8月更文挑战第31天】本文探讨了如何将Windows Presentation Foundation(WPF)应用与Microsoft Azure和Amazon Web Services(AWS)两大主流云平台无缝集成。通过具体示例代码展示了如何利用Azure Blob Storage存储非结构化数据、Azure Cosmos DB进行分布式数据库操作;同时介绍了如何借助Amazon S3实现大规模数据存储及通过Amazon RDS简化数据库管理。这不仅提升了WPF应用的可扩展性和可用性,还降低了基础设施成本。
62 0
|
2月前
|
开发者 存储 API
Xamarin 云服务集成竟然如此强大,简化后端开发不再是梦,数据存储、用户认证、推送通知全搞定!
【8月更文挑战第31天】Xamarin 是一款强大的跨平台移动应用开发工具,通过与云服务集成,显著简化了后端开发。开发者无需自行搭建服务器,即可利用云服务提供的数据存储、用户认证、推送通知等功能,大幅减少数据库设计、服务器配置及 API 开发的时间成本。借助 Azure Mobile Apps 等云服务,Xamarin 可轻松实现数据存取操作,同时增强应用安全性与用户参与度,使开发者更专注于业务逻辑和用户体验,提升开发效率并降低成本。这种方式在快速发展的移动应用领域极具价值。
48 0
|
2月前
|
jenkins 持续交付
jenkins学习笔记之九:jenkins认证集成github
jenkins学习笔记之九:jenkins认证集成github
|
2月前
|
安全 jenkins 持续交付
jenkins学习笔记之八:jenkins认证集成gitlab
jenkins学习笔记之八:jenkins认证集成gitlab
|
2月前
|
jenkins Devops 持续交付
jenkins学习笔记之七:jenkins集成LDAP用户认证
jenkins学习笔记之七:jenkins集成LDAP用户认证
|
5月前
|
消息中间件 监控 Kubernetes
基于EventBridge HTTP Source构建SaaS应用集成的最佳实践
本文将介绍基于EventBridge HTTP Source构建SaaS应用集成的最佳实践。
107 0
基于EventBridge HTTP Source构建SaaS应用集成的最佳实践