EventBridge API 端点:让服务集成触手可及|学习笔记(一)

简介: 快速学习 EventBridge API 端点:让服务集成触手可及

开发者学堂课程事件总线EventBridge生态集成课程EventBridge API 端点:让服务集成触手可及学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1235/detail/18405


EventBridge API 端点:让服务集成触手可及

 

内容介绍

一、概括

二、eventbridge 背景

三、api 端点

四、应用场景案例

 

一、概括

最近对外正式发布了 api 端点服务,用来帮助大家更方便的将云上的产品以自己的微服务或者购买了 saas 服务进行集成。那 api 端点到底是什么?

今天的讲解主要包含三部分,首先先简单介绍一下 eventbridge的背景,然后讲一下为什么要做 api 端点。第二部分一起看一下今天的主角 API 端点,它到底是什么,有什么用。第三部分用两个场景演示案例来实际体验一下 api 端点。

 

二、eventbridge 背景

1.什么是 EventBridge

 

image.png

eventbridge 在阿里云的定位是云原生时代,云上操作系统的事件中枢,通过这个事件中枢,可以以标准 cloudevents 的事件协议将阿里云上的产品自建服务,以及外部的 saas 服务进行集成连接,来构建一个松耦合和高可靠的事件驱动架构。

2.EventBridge 的基本模型

来看一下 eventbridge 的基本模型,

image.png

当开通 eventbridge 的时候,eventbridge 会自动收集阿里云上两百多款产品的事件。然后就可以在事件总线上轻松地通过规则方便地去订阅,并过滤到需要的云产品事件,并推送到目标端。这里的目标端可以是阿里云上的服务,也可以是自己搭建的一个微服务,甚至可以是外部的一些 saas 服务,当然不仅是阿里云上的云产品事件可以通过 eventbridge 去实现事件驱动,那用户自己的业务事件,以及用户购买的一些 saas 服务产生事件都是可以通过 SDK 主动上报或者通过 eventbridge 主动拉取以及 web hook的一些能力,将这些事件推送回 eventbridge。

eventbridge 就像一个事件中心,去帮助用户管理了产品周边所有事件。当需要使用事件时候,可以很方便地通过 eventbridge 筛选出需要的事件,并推送给目标端。整个过程目标端是不需要像消息订阅一样去主动地适配上的消息,那目标端也无需要去改一行代码就可以通过原本暴露的 API 来完成整个产品的集成,那整个架构是更加松耦和,更加易维护和可靠的。

3.适配目标端:过滤和转换

image.png

事件规则里面过滤和转换事件的过程,本质上是将之前目标端原本订阅消息的逻辑,以及去解析上游消息格式的逻辑。从目标端前置到了 eventbridge 当中,因为订阅和解析消息的逻辑,对于每个目标端来讲都是大同小异的,而且目标端增加对上游消息的适配层,其实会破坏目标微服务的一个内聚性,尤其是当目标微服务需要去订阅很多事件的时候,那会让目标微服务非常多的一些适配代码变得不可维护。为了满足目标微服务长的一些场景需求,eventbridge 提供了非常丰富的事件过滤模式,以及事件转换工具,那来看一下一个简单的例子,就是将云产品 OSS 的事件推送到内部微服务 HTTP target,阿里云上所有官方云产品事件都默认会投递到 default 总线,那在北京提前在 default 总线创建了一个规则。这个规则会过滤所有的 OSS 事件,并投递到 HTTP 目标端,这个目标端指向的是自建的 web hook 地址,它会时刻地去监听,访问这个服务的 HTTP 请求,并把收到请求完整地打印出来,可以看到图中左边,

image.png

这个服务一直在处于监听等待中,这里面设置了推送到 http body 为模板,提取了 cluteveent 中的 subject 字段,并随模板一起输出,现在就往北京的 oss packet 上传一个 demo文件。看到文件已经上传成功,然后看一下 http 目标服务,它也已经收到了刚刚上传的事件,它的内容是上传的对应的文件信息。

4.HTTP Target 遇到的问题

这里大家可能也发现了目前 HTTP 目标的能力还是比较弱的,主要体现在三个方面。

image.png

第一鉴权方式比较单一,只支持固定 token 的鉴权方式,第二参数传递的能力较弱,只支持传递 HTTP body,不支持传递 http header 的参数,而且默认用 post 方式,第三是管理成本比较高,当多个规则依赖同一个 HTTP 的时候万一需要修改,所有的规则都需要去改变,这次为什么不直接去升级 http target 而推出 api 端点这个服务,接下来一起来看一下 api 的端点,它到底是什么,又是怎么去解决用户遇到的问题。

 

三、api 端点

1.什么是 API 端点

首先,看一下api端点在 eventbridge 中的位置。

image.png

作为 eventbridge 的目标端,整体的模型是和其它事件目标保持一致的,那事件发送到 eventbus 之后会通过规则进行过滤和转换来最终推送到 api 端点对应的目标服务上,那这个 api 开端点是什么?里面有什么呢?在回答这个问题之前,一起看一下,一个典型的微服务 API 是什么样的。

image.png

先看图中最下面,一个目标微服务在其他服务进行集成交汇时候最常见的方式是暴露 API,通过 API 来定义当前目标微服务的边界。在暴露 api时,微服务通过多种方式,目前最常用的方式是 HTTP 协议暴露 http resetfule api ,其他服务如果想和当前的微服务进行集成,就可以通过访问  http resetfule API来实现这个目的,eventbridge 如果希望将事件推送到这个目标微服务的 api,就需要清楚地知道目标微服务的 api 的定义,当然光知道 api 的定义还是不够的,因为对于一个微服务来讲,为了防止一些恶意攻击,常常还会有自己的一个认知方式,用来限制使用一些合法的请求才能被响应。

在完成第一个微服务 api 时主要含两部分。一部分是用来实现和微服务的联通就是普通的 connection。第二部分是 api 的方法的参数信息,就是图中的 api 端点。另外,在不同的场景下,同一个api的参数传递的内容在创建规则配置时候,其实是不一样的,所以在创建规则的时候还会具体的去配置 API 对应的参数具体的值的信息。

先来看下第一部分 connection,刚才提到 connection 主要是用于去实现外部服务与当前微服务的连通性,这里可以看到 connection 一般是微服务的,微服务上提供的多个 API 其实是共享这个 connection。

关于 connection 目前主要包含两部分,第一部分是网络配置。比如通过公网连接还是通过阿里私有网络进行连接,那第二部分是刚才提到的鉴权配置信息。 eventbridge 目前选取行业内最常见的三种基本方式 api key、basic、OAuth 2.0。那下面简单介绍方便后面使用。


相关文章
|
消息中间件 运维 监控
基于 EventBridge API Destination 构建 SaaS 集成实践方案
本次新增集成中心(Integration Center)是负责 EventBridge 与外界系统对接的模块,通过抽象与配置快速获取第三方事件并将事件集成到第三方系统。并且优化现有 HTTP Sink 集成方案,为用户下游集成创造更多适配场景。
321 0
基于 EventBridge API Destination 构建 SaaS 集成实践方案
|
安全 jenkins API
EventBridge API 端点:让服务集成触手可及|学习笔记(二)
快速学习 EventBridge API 端点:让服务集成触手可及
283 0
EventBridge API 端点:让服务集成触手可及|学习笔记(二)
|
9天前
|
JSON API 数据格式
淘宝 / 天猫官方商品 / 订单订单 API 接口丨商品上传接口对接步骤
要对接淘宝/天猫官方商品或订单API,需先注册淘宝开放平台账号,创建应用获取App Key和App Secret。之后,详细阅读API文档,了解接口功能及权限要求,编写认证、构建请求、发送请求和处理响应的代码。最后,在沙箱环境中测试与调试,确保API调用的正确性和稳定性。
|
21天前
|
供应链 数据挖掘 API
电商API接口介绍——sku接口概述
商品SKU(Stock Keeping Unit)接口是电商API接口中的一种,专门用于获取商品的SKU信息。SKU是库存量单位,用于区分同一商品的不同规格、颜色、尺寸等属性。通过商品SKU接口,开发者可以获取商品的SKU列表、SKU属性、库存数量等详细信息。
|
22天前
|
JSON API 数据格式
店铺所有商品列表接口json数据格式示例(API接口)
当然,以下是一个示例的JSON数据格式,用于表示一个店铺所有商品列表的API接口响应
|
1月前
|
编解码 监控 API
直播源怎么调用api接口
调用直播源的API接口涉及开通服务、添加域名、获取API密钥、调用API接口、生成推流和拉流地址、配置直播源、开始直播、监控管理及停止直播等步骤。不同云服务平台的具体操作略有差异,但整体流程简单易懂。
|
12天前
|
JSON API 数据安全/隐私保护
拍立淘按图搜索API接口返回数据的JSON格式示例
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解释
|
1月前
|
人工智能 自然语言处理 PyTorch
Text2Video Huggingface Pipeline 文生视频接口和文生视频论文API
文生视频是AI领域热点,很多文生视频的大模型都是基于 Huggingface的 diffusers的text to video的pipeline来开发。国内外也有非常多的优秀产品如Runway AI、Pika AI 、可灵King AI、通义千问、智谱的文生视频模型等等。为了方便调用,这篇博客也尝试了使用 PyPI的text2video的python库的Wrapper类进行调用,下面会给大家介绍一下Huggingface Text to Video Pipeline的调用方式以及使用通用的text2video的python库调用方式。
|
1月前
|
JSON JavaScript API
(API接口系列)商品详情数据封装接口json数据格式分析
在成长的路上,我们都是同行者。这篇关于商品详情API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦!
|
22天前
|
JSON 前端开发 JavaScript
API接口商品详情接口数据解析
商品详情接口通常用于提供特定商品的详细信息,这些信息比商品列表接口中的信息更加详细和全面。以下是一个示例的JSON数据格式,用于表示一个商品详情API接口的响应。这个示例假定API返回一个包含商品详细信息的对象。

热门文章

最新文章