水果配送网站建设,企业咨询管理公司经营范围,在网站做专题,徐州网站开发培训简介#xff1a;本篇文章主要向大家分享了通过 EventBridge 如何集成云产品事件源#xff0c;如何集成云产品事件目标以及通过事件流如何集成消息产品。
作者#xff1a;李凯#xff08;凯易#xff09;
EvenBridge 集成概述
EventBridge 是阿里云所推出了一款无服务器…简介本篇文章主要向大家分享了通过 EventBridge 如何集成云产品事件源如何集成云产品事件目标以及通过事件流如何集成消息产品。
作者李凯凯易
EvenBridge 集成概述
EventBridge 是阿里云所推出了一款无服务器事件总线其目标是拓展事件生态打破系统间的数据孤岛建立事件集成生态。提供统一的事件标准化接入及管理能力完善集成与被集成通路帮助客户快速实现事件驱动的核心原子功能可将 EventBridge 快速集成至 BPM、RPA、CRM 等系统。 EventBridge 通过事件标准化接入标准化组件标准化三个方向作为支点拓展 EventBridge 事件生态
事件标准化拥抱 CloudEvents 1.0 开源社区标准协议原生支持 CloudEvents 社区 SDK 和 API全面拥抱开源社区事件标准生态接入标准化提供标准事件推送协议 PutEvent并支持 Pull 和 Push 两种事件接入模型可有效降低事件接入难度提供云上完善的事件接入标准化流程组件标准化封装标准的事件下游组件工具链体系包括 Schema 注册、事件分析、事件检索、事件仪表盘等。提供完善的事件工具链生态。
在集成领域 EventBridge 重点打造事件集成和数据集成两类核心场景下面将围绕这两类场景具体展开描述。
事件集成
目前 EventBridge 已经拥有 80 云产品的事件源800 种事件类型。整个事件生态还正在逐步丰富中。 那么EventBridge 如何实现云产品的事件集成呢
首先在 EventBridge 控制台可以看见一个名为 default 的事件总线云产品的事件都会投递到这个总线然后点击创建规则就可以选择所关心的云产品以及它的相关事件进行事件的监听和投递。下面以两个例子为例来看下 EventBridge 事件集成的方式。
OSS 事件集成
以 OSS 事件源为例来讲解一下如何集成 OSS 事件。 OSS 事件现在主要分为 4 类操作审计相关、云监控相关、配置审计相关、以及云产品相关的事件例如 PutObject 上传文件等等。其他的云产品的事件源也类似基本都可以分为这几个类型的事件。
下面演示一下事件驱动的在线文件解压服务 在 OSS Bucket 下面会有一个 zip 文件夹存放需要解压的文件一个 unzip 文件夹存放解压后的文件当上传文件到 OSS Bucket 之后会触发文件上传的事件并投递到 EventBridge 的云服务专用总线然后会使用一个事件规则过滤 zip 这个 bucket 的事件并投递到解压服务的 HTTP Endpoint解压服务会在收到事件之后根据事件里面的文件路径从 OSS 下载文件解压并在解压之后将文件传到 unzip 目录下同时还会有一个事件规则监听 unzip 目录的文件上传事件并将事件转换后推送到钉钉群。
一起来看下是如何实现的
前往下方链接查看视频
《EventBridge 集成云服务实践》事件驱动的在线文件解压服务1_哔哩哔哩_bilibili
1首先创建一个 bucket下面有一个 zip 目录用于存放上传的压缩文件一个 unzip 目录用于存放解压后的文件。 2) 部署解压服务并且暴露公网访问的地址。
解压服务的源码地址为
https://github.com/AliyunContainerService/serverless-k8s-examples/tree/master/oss-unzip?spma2c6h.12873639.article-detail.15.5a585d52apSWbk
也可以使用 ASK 直接部署yaml 文件地址为
https://github.com/AliyunContainerService/serverless-k8s-examples/blob/master/oss-unzip/hack/oss-unzip.yaml
3创建一个事件规则监听 zip 目录下的上传文件的事件并投递到解压服务的 HTTP Endpoint。 这里使用 subject匹配 zip 目录。
4再创建一个事件规则监听 unzip 目录的事件投递解压事件到钉钉群。 这里同样使用 subject匹配 unzip 目录。
对于变量和模板的配置可以参考官方文档
事件内容转换 - 事件总线EventBridge - 阿里云。
EventBridge 会通过 JSONPath 的方式从事件中提取参数然后把这些值放到变量中最后通过模板的定义渲染出最终的输出投递到事件目标。OSS 事件源的事件格式也可以参考官方文档
对象存储OSS事件 - 事件总线EventBridge - 阿里云 并根据实际的业务需要使用 JSONPath 定义变量。5最后通过 oss 控制台上传一个文件进行验证。 可以看到刚刚上传的 eventbridge.zip 已经解压到并上传上来了也可以在钉钉群里面收到解压完成的通知。此外还可以在事件追踪这边查看事件的内容已经投递的轨迹。 可以看到有两个上传事件一个是通过控制台上传的事件一个是解压文件后上传的事件。 可以查看轨迹都成功投递到了解压服务的 HTTP Endpoint 以及钉钉机器人。
以自定义事件源以及云产品事件目标的方式集成云产品
刚才演示的 demo 是集成云服务的事件源下面再通过一个 demo 看一下如何通过以自定义事件源以及云产品事件目标的方式集成云产品。
前往下方链接查看视频
《EventBridge 集成云服务实践》如何使用事件流将 RocketMQ 的消息路由到 MNS Queue将两个产品集成起来_哔哩哔哩_bilibili
这个 demo 的最终效果是通过 EventBridge 自动进行数据的清洗并投递到 RDS 中去。事件内容是一个 JSON拥有两个字段一个名字一个年龄现在希望将把大于 10 岁的用户过滤出来并存储到 RDS 中。 整体的架构如图所示使用一个 MNS Queue 作为自定义事件源并通过 EventBridge 过滤并转换事件最终直接输出到 RDS 中去。 1首先已经创建好了一个 MNS Queue创建好一个 RDS 实例以及数据库表表结构如下所示 2创建一个自定事件总线选择事件提供方为 MNS队列为提前创建好的队列 创建好了之后我们就可以在事件源这里看见一个已经正在运行中的事件源 3接下来创建规则投递到 RDS 配置的事件模式内容如下
{source: [my.user],data: {messageBody: {age: [{numeric: [,10]}]}}
}
数值匹配可以参考官方文档 事件模式 - 事件总线EventBridge - 阿里云
4) 点击下一步选择事件目标为数据库填写数据库信息配置转化规则完成创建。 5最后先用 MNS Queue 发送一个消息这个的 age 是大于 10 的。 可以看见这条事件就输出到了 RDS 里面了。 下面再发一个小于 10 的消息到 MNS Queue。 这条事件就被过滤掉了没有输出到 RDS。 也可通过事件追踪查看事件 可以看到一条事件成功投递到了 RDS一条事件被过滤掉了没有进行投递。
数据集成
事件流是 EventBridge 为数据集成提供的一个更为轻量化、实时的端到端的事件流试的通道主要目标是将事件在两个端点之间进行数据同步同时提供过滤和转换的功能。目前已经支持阿里云各消息产品之间的事件流转。 不同于事件总线模型在事件流中并不需要事件总线其 11 的模型更加的轻量直接到目标的方式也让事件更加的实时通过事件流我们可以实现不同系统之间的协议转换数据同步跨地域备份的能力。 下面将通过一个例子讲解如何使用事件流将 RocketMQ 的消息路由到 MNS Queue将两个产品集成起来。
整体的结构如图所示通过EventBridge 将 RocketMQ 中 TAG 为 MNS 的消息路由到 MNQ Queue。 一起看下怎么实现
前往下方链接查看视频
《EventBridge 集成云服务实践》通过以自定义事件源以及云产品事件目标的方式集成云产品_哔哩哔哩_bilibili
首先创建一个事件流选择源 RocketMQ 实例填写 Tag 为 mns。事件模式内容留空表示匹配所有。目标选择 MNS选择目标队列完成创建。完成创建之后点击启动启动事件流任务。
事件流启动完成之后我们就可以通过控制台或者 SDK 发送消息到源 RocketMQ Topic 里面。当有 Tag 为 mns 的时候我们可以看见消息路由到了 mns当有 Tag 不为 mns 的时候消息就不会路由到 mns。
总结
本篇文章主要向大家分享了通过 EventBridge 如何集成云产品事件源如何集成云产品事件目标以及通过事件流如何集成消息产品。
原文链接
本文为阿里云原创内容未经允许不得转载。