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 集成方案,为用户下游集成创造更多适配场景。
325 0
基于 EventBridge API Destination 构建 SaaS 集成实践方案
|
安全 jenkins API
EventBridge API 端点:让服务集成触手可及|学习笔记(二)
快速学习 EventBridge API 端点:让服务集成触手可及
285 0
EventBridge API 端点:让服务集成触手可及|学习笔记(二)
|
2天前
|
人工智能 自然语言处理 API
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
谷歌推出的Multimodal Live API是一个支持多模态交互、低延迟实时互动的AI接口,能够处理文本、音频和视频输入,提供自然流畅的对话体验,适用于多种应用场景。
20 3
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
|
4天前
|
XML JSON 缓存
阿里巴巴商品详情数据接口(alibaba.item_get) 丨阿里巴巴 API 实时接口指南
阿里巴巴商品详情数据接口(alibaba.item_get)允许商家通过API获取商品的详细信息,包括标题、描述、价格、销量、评价等。主要参数为商品ID(num_iid),支持多种返回数据格式,如json、xml等,便于开发者根据需求选择。使用前需注册并获得App Key与App Secret,注意遵守使用规范。
|
3天前
|
JSON API 开发者
淘宝买家秀数据接口(taobao.item_review_show)丨淘宝 API 实时接口指南
淘宝买家秀数据接口(taobao.item_review_show)可获取买家上传的图片、视频、评论等“买家秀”内容,为潜在买家提供真实参考,帮助商家优化产品和营销策略。使用前需注册开发者账号,构建请求URL并发送GET请求,解析响应数据。调用时需遵守平台规定,保护用户隐私,确保内容真实性。
|
3天前
|
搜索推荐 数据挖掘 API
淘宝天猫商品评论数据接口丨淘宝 API 实时接口指南
淘宝天猫商品评论数据接口(Taobao.item_review)提供全面的评论信息,包括文字、图片、视频评论、评分、追评等,支持实时更新和高效筛选。用户可基于此接口进行数据分析,支持情感分析、用户画像构建等,同时确保数据使用的合规性和安全性。使用步骤包括注册开发者账号、创建应用获取 API 密钥、发送 API 请求并解析返回数据。适用于电商商家、市场分析人员和消费者。
|
13天前
|
JSON API 开发工具
淘宝实时 API 接口丨淘宝商品详情接口(Taobao.item_get)
淘宝商品详情接口(Taobao.item_get)允许开发者获取商品的详细信息,包括基本信息、描述、卖家资料、图片、属性及销售情况等。开发者需注册账号、创建应用并获取API密钥,通过构建请求获取JSON格式数据,注意遵守平台规则,合理使用接口,确保数据准确性和时效性。
|
14天前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
66 5
|
14天前
|
JSON 缓存 监控
淘宝商品详情接口(Taobao.item_get)丨淘宝API接口指南
淘宝商品详情接口(Taobao.item_get)允许开发者通过HTTP GET方法获取淘宝商品的详细信息,包括商品ID、价格、库存等。请求需包含key、secret、num_iid等必选参数,支持缓存及多种返回格式。此接口广泛应用于电商数据分析、商品选品、价格监控等领域,提升商家运营效率。
|
18天前
|
JSON 搜索推荐 API
LAZADA关键词搜索API接口的获取与应用
Lazada作为东南亚领先的电商平台,为满足开发者和商户需求,开放了关键词搜索API接口。本文详细介绍该接口的获取与应用,助力提升电商业务效率。接口支持关键词搜索、指定搜索范围和排序方式,提供精准、灵活且全面的数据支持,促进电商应用和服务的优化与创新。
21 3