基于 EventBridge API Destination 构建 SaaS 集成实践方案

news2024/12/24 20:43:44

作者:赵海

引言

事件总线 EventBridge 是阿里云提供的一款无服务器事件总线服务,支持阿里云服务、自定义应用、SaaS 应用以标准化、中心化的方式接入,并能够以标准化的 CloudEvents 1.0 协议在这些应用之间路由事件,帮助您轻松构建松耦合、分布式的事件驱动架构。事件驱动架构是一种松耦合、分布式的驱动架构,收集到某应用产生的事件后实时对事件采取必要的处理后路由至下游系统,无需等待系统响应。使用事件总线 EventBridge 可以构建各种简单或复杂的事件驱动架构,以标准化的 CloudEvents 1.0 协议连接云产品和应用、应用和应用等。

目前 HTTP 的不足有以下几点:

  • HTTP 的能力较弱,比如:授权方式单一、只支持 Body 传参、网络互通能力未对齐。只能满足客户最简单的场景。

  • 用户无法基于 API 来统一管理(修改/下线)Target,用户体验交叉口;

  • 对于基于 HTTP 实现的 SaaS API,无法简单快捷的引入到 EB 中,作为 Target 给用户使用。

本次新增集成中心(Integration Center)是负责 EventBridge 与外界系统对接的模块,通过抽象与配置快速获取第三方事件并将事件集成到第三方系统。并且优化现有 HTTP Sink 集成方案,为用户下游集成创造更多适配场景。

集成中心重点服务对象包括但不限于 SaaS 系统,对标 IPaaS 平台的能力提供完整的全面的通用系统集成方案。

  • 集成源(Integration Source):指集成到 EventBridge 的第三方源;

  • API 端点(API Destination ):指被集成到 EventBridge 的第三方 API 端点;

    • 连接配置(Connection):是 API 端点模块的子集,与API 端点的平级资源,主要负责记录连接及配置信息,连接配置可被任意 API 端点复用。

针对市场上其他云厂商服务,EventBridge 发布了 API 端点 Sink 能力,主要作用在于承接 EventBridge 下游端数据,帮助用户快速完成下游数据集成。提供简单且易于集成的三方事件推送 ,帮助客户更加高效、便捷地实现业务上云。

在这里插入图片描述

API 端点 Sink 概述

接入 EventBridge 应用有多种情况:用户自定义应用、阿里云服务、其他云厂商服务或者其他 DB 产品。

具体而言,API 端点 Sink 事件目标是 EventBridge 支持的事件目标的一种,是通过 EventBridge 将数据投递至指定 Web Server 中。

在这里插入图片描述

API 端点 Sink 基本使用

首先现阶段 API 端点的 Sink 支持三种鉴权方式:

同时网络支持公网和专有网络(后续支持)。

1、创建 Connection

添加连接配置基本信息,并配置鉴权。

链接配置支持三种鉴权方式 :

在这里插入图片描述

Basic 鉴权方式 :

在这里插入图片描述

OAuth 2.0 鉴权方式:

添加授权接入点、授权请求方式、Client ID、ClientSecret 和授权相关的 Http 请求参数。

在这里插入图片描述

API Key 鉴权方式:

在这里插入图片描述

2、创建 ApiDestination

API 端点配置 :配置需要访问 API 的 URL 地址和 HTTP 调用类型。

添加请求地址和请求方式:

在这里插入图片描述

在创建 API 端点时可以直接创建连接配置也可以选择已有的连接配置,例如上面已经创建成功的连接配置。

在这里插入图片描述

3、创建 Rule

创建事件规则,用于将事件投递到具体的 API 端点中。

步骤一 :点击事件规则并创建事件规则

在这里插入图片描述

步骤二 :是选择事件源,可以选择阿里云官方的或者选择自定义事件源,这里选择的是自定义事件源

在这里插入图片描述

步骤三 :第三步是选择 API 端点事件目标

支持自定义创建和使用已有,同时可以添加请求 HTTP 参数。

在这里插入图片描述

使用已有

使用选择已有的以后只需要添加请求 HTTP 参数即可:

在这里插入图片描述

选择已有的 API 端点来自于集成中心下面的 API 端点:

在这里插入图片描述

最佳实践

常见场景案例,比如:

  • 用户可以把 RocketMQ 或者 RabbitMQ 的消息产品的消息动态投递到不同的 Web Server 中,这样可以让不同的 web 平台处理消息数据,实现了跨平台或者跨语言的消息流通。
  • 用户可以把日志服务 SLS 数据投递到指定的 Web Server 或者 ELK 中,方便业务部门或者大数据平台对日志数据处理,可以更好的完善用户画像和用户行为分析,方便给用户打标签,从而可以进一步完善大数据个性化用户推荐系统。

例如下面是访问的国内外 SaaS 生态:

典型场景 :与 Buildkite 集成

场景介绍 :利用 EventBridge 丰富的云产品事件源和目标集成能力,快速与 Buildkite 的持续集成和持续交付(CI / CD)平台进行集成。

集成产品背景描述 :Buildkite 是大型持续集成和持续交付(CI / CD)平台会有各种管理的变更、构建和作业等任务,运维人员需要快速感知、处理这些变更,以便决赛风险。

用户痛点 :构建的事件收集困难,需要手动触发构建和手动创建管道。

方案优势 :EventBridge 支持集成 Buildkite 的持续集成和持续交付平台,用户只需要简单配置即可创建和处理平台的事件。

在这里插入图片描述

举例介绍:可以通过 API 文档中提供的接口实现动态的创建管道、创建构建和重试作业等。

文档地址 :

https://buildkite.com/docs/apis/rest-api/organizations

创建 API 端点

在这里插入图片描述

创建规则

在这里插入图片描述

发布事件,发布完成以后可以到事件轨迹查询详情

在这里插入图片描述

典型场景 :与 Freshdesk 集成

场景介绍 :利用 EventBridge 丰富的云产品事件源和目标集成能力,快速与 CRM(Freshdesk)进行集成。

集成产品背景描述 :不同的平台都需要对接 CRM(Freshdesk)管理系统。

用户痛点 :不同的平台的事件收集困难,需要用户自定义实现。

方案优势 :EventBridge 支持集成 CRM(Freshdesk)平台,用户只需要简单配置即可实现动态的创建会话、创建联系人和创建技能等事件。

在这里插入图片描述

举例介绍:可以通过 API 文档中提供的接口实现动态的创建会话、创建联系人和创建技能等。

文档地址 :

https://developers.freshdesk.com/api/

创建 API 端点

在这里插入图片描述

创建事件规则

在这里插入图片描述

发布事件,发布完成以后可以到事件轨迹查询详情

在这里插入图片描述

典型场景 :与有成财务集成

场景介绍 :利用 EventBridge 丰富的云产品事件源和目标集成能力,快速与有成财务进行集成

集成产品背景描述 :不同的 HR 系统或者 OA 系统需要对接有成财务时

用户痛点 :不同的系统的事件收集困难,需要用户自定义实现

方案优势 :EventBridge 支持集成有成财务平台,用户只需要简单配置即可实现动态生成报销科目和财务凭证等事件

在这里插入图片描述

举例介绍:比如用户想把 mns 的消息或者其他消息产品,同步到钉钉产品等接口中,或者也可以利用消息生成报销单据,可以生成报销科目和财务凭证等

地址 :

https://yiqbopenapi.superboss.cc/#/share/awXPk8nW/K8Mg3rzl

创建 API 端点

在这里插入图片描述

创建规则

在这里插入图片描述

发布事件,发布完成以后可以到事件轨迹查询详情。

在这里插入图片描述

感兴趣的小伙伴们可以钉钉扫描下方二维码加入钉群讨论(群号:44552972)

在这里插入图片描述

点击此处,进入 EventBridge 官网了解更多信息~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/138650.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mockjs入门基础概念与使用

文章目录Mockjs入门使用1、概述2、安装引入3、语法规范3.1 数据模板定义规范(DTD)3.1.1 DTD介绍3.1.2 规范实例演示字符串String数字Number布尔Boolean对象Object数组Array函数Function正则表达式RegExp3.2 数据占位符定义规范DPD4、关于Mock.mock()方法4.1 参数介绍…

RabbitMQ 常见面试题

RabbitMQ 常见面试题 1.为什么要用消息队列? (消息队列的应用场景?) 2.各种消息队列产品的比较? 3.消息队列的优点和缺点? 4.如何保证消息队列的高可用? 5.如何保证消息不丢失? 6.如何保证消息不被重复消费?(如何保证消息消费的幂等性) 7.如何保证消息消费的…

PMP证书好考吗?

PMP 还是很好考的,各大机构 3A 的人也很多,我的备考经验分享给大家参考下,大家可以取长补短,找到适合自己的备考方法:一、复习计划的制定根据之前在培训班共同奋斗的小伙伴学习时间统计,平均每天的学习时间…

我的第一门编程语言

元旦节在家重温了一遍《三体》,看到下面一段描写:监听部的计算机系统也远比发射部庞大复杂,叶文洁第一次走进主机房时,看到一排阴极射线管显示屏,她惊奇地发现,屏幕上竟滚动着一排排程序代码,可…

KITTI评价指标学习

在pointpillars完成训练后,可以看到对于目标检测的评估,据了解,这是kitti的标准目标检测格式,所以了解了一下. 在generate label finished后,可以看到类别Car对应的AP(Average precision)有3个0.70,分别对应的是Kitti object detection中,被分为Easy, Moderate,和Hard三种级别物…

算法训练 —— 哈希

目录 1. LeetCode242. 有效字母的异位词 2. LeetCode349. 两个数组的交集 3. LeetCode350. 两个数组的交集II 4. LeetCode202. 快乐数 5. LeetCode1. 两数之和 1. LeetCode242. 有效字母的异位词 有效字母的异位词 本题的含义就是判断两个字符串是否相同; 我们…

文档管理降低运营成本的 5 大方法

文档管理降低运营成本的 5 大方法 正在寻找降低成本和最大化生产力的方法的首席财务官和首席信息官已经知道,良好的文档管理可以在几个月内收回成本。数字文档管理(有时称为“企业内容管理”或 ECM)通过自动化工作流程和消除耗时的手动任务来…

第三十四讲:神州路由器远程管理

1、路由器的带外管理 Username: admin Password: Router>ena Router#conf Router_config#username dcn password 123456 Router_config#enable password 0 789 Router_config#aaa authentication enable default enable Router_config# aaa authentication login de…

Spring学习笔记1

1.核心概念 IoC(Inversion of Control)控制反转 对象的创建控制权由程序转移到外部,这种思想称为控制反转 Spring技术对IoC思想进行了实现 Spring提供了一个容器,称为IoC容器,用来充当IoC思想中的“外部” IoC容器负责…

测试小白必备!初级软件测试面试题题库,你绝对要用

软件测试的面试过程中,面试官往往都会根据你面试的职位,提问一些相关的软件测试知识,而很多人为了能够提高的自己在面试当中的通过率,都会在面试前做好充足的准备。比如刷面试题,背答案、准备面试话术这些。今天&#…

JSP ssh 桌面网站系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 JSP ssh 桌面网站系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模 式开发。开发环境为TOMCAT7.0,My…

mes制造执行系统软件适用于哪些行业,有你所处的行业吗?

MES作为一种面向企业工厂生产加工的软件,为企业制造做出了巨大的贡献。虽然MES很实用很简单,但是也凸显了一个问题,有一些企业的生产方式是不适用于MES系统的。那具体哪些行业适合使用MES,哪些不适合。本文将为大家做详细的介绍。…

【Threejs】关于物体在场景中的阴影问题

一、基础知识 1、摄像机的属性结构 先了解一下摄像机THREE.Camera的四个基本参数 2、渲染器设置 render需要开启阴影渲染,这一点是大前提: renderer new THREE.WebGLRenderer();renderer.setSize(width, height);renderer.setClearColor(0x274F80,…

π122E31Q 超低功耗 200Mbps高速率 双通道数字隔离器兼容代替ADuM1201WURZ

π122E31Q 超低功耗 200Mbps高速率 双通道数字隔离器兼容代替ADuM1201WURZ,具有出色的性能特征和可靠性,整体性能优于光耦和基于其他原理的数字隔离器产品。 产品传输通道间彼此独立,可实现多种传输方向的配置,可实现 3.0kVrms 隔…

Python全栈开发(三)——python基础语法(二)

我们昨天说了python的数据类型,今天说说python的缩进规则和函数、python的顺序语句结构,条件和分支语句以及循环语句。缩进不规范会报错(IndentationError: unexpected indent),python的函数使用,从定义到实…

【区块链 | EVM】深入理解学习EVM - 深入Solidity数据存储位置:存储

研究Solidity存储引用和智能合约存储布局 原文链接: https://betterprogramming.pub/all-about-solidity-data-locations-part-i-storage-e50604bfc1ad这是深入Solidity数据存储位置系列的另一篇。在今天的文章中,我们将更详细地介绍EVM中的一个重要数据位置:存储(Storage)…

feign简介与实战

一、JAVA 项目中实现远程接口调用 1)Httpclient HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包,并且它支持 HTTP 协议最新版本和建议。HttpClient 相比传统 JDK 自带…

APS生产排产软件在金属加工行业的应用

金属加工简称金工,指人类对由金属元素或以金属元素为主构成的具有金属特性的材料进行加工的生产活动。是一种把金属物料加工成为物品、零件、组件的工艺技术,包括了桥梁、轮船等的大型零件,乃至引擎、珠宝、腕表的细微组件。它被广泛应用在科…

C++入门(一)

目录 一. 关键字 二. 命名空间 三. 输入&输出 1.输出 2.输入 四. 缺省参数 1.全缺省参数 2.半缺省参数 五. 函数重载 1.类型 2.原理 一. 关键字 简单了解一下都有哪些关键字 二. 命名空间 在c语言的学习之中,我们知道,在同一…

js内置对象

包装类 <script>/*var anew Number(123);var bnew String("慕课网");var cnew Boolean(true);*/var a 123;var b 慕课网;var c true;console.log(a);console.log(typeof a);console.log(b);console.log(typeof b);console.log(c);console.log(typeof c); &…