接口(集成)平台设计(一)-服务,接口,数据集和数据源

简介

接口中台为消费者应用(数据需求)和数据提供者集成提供一站式的服务,是系统间的数据枢纽,支持各种数据源,可视化构建数据集,可视化编排接口,发布服务,0代码实现系统间数据交换。

本文解释接口平台架构设计

规划和特性

1 数据源和连接器

2 接口,数据集,数据集构建器

3 服务,编排

4 执行架构

还有授权,可观测和监控

术语/关键词

连接器 提供各种适配器,用于连接不同的提供者(如数据库、HTTP API、FTP服务器、消息队列等),是平台的基础能力

数据集 定义返回什么数据,如,数据库的sql,可设置参数,定制化返回的数据

接口 数据集的出入口,其自身是可调用服务

编排 组合协调接口,数据管道,输出预期数据

服务 编排的执行体

参考资料

逻辑架构

下图是接口中台的逻辑架构

  • 数据源和连接器

连接器实现数据源的访问协议,连接和通讯,读取和写入

  • 接口和数据集

数据集定义返回的数据,可视化定制;接口是数据集的出入口,但接口不直接对client使用,通过服务输出

  • 服务和编排

编排 组合接口,搭建数据处理管道,获取期望的数据

服务 输出编排接口

技术架构

本节介绍接口平台的技术架构,介绍平台运行逻辑,实现高可用,高吞吐(百万QPS),大容量(百万接口),高伸缩等架构要求

上图是技术架构图

管理侧

首先看管理侧,负责构建接口和数据集,服务编排,在线测试服务(pipeline)和接口,服务发布

  • 构建接口

业务人员(操作员)新增接口,通过数据源对应的构建器,构建数据集

  • 编排和发布服务

业务人员编排接口,形成数据管道(pipeline),发布,消费者可以调用服务获取/写入数据。

业务人员发布服务,推到发布桶,执行目录和索引同步新增服务

执行侧

服务发布后,消费者调用服务,接口服务网关(ISG)接收请求,

  1. ++执行目录和索引++ 查找合适的++执行器++, 轮询,随机,负载最少等策略
  2. 推送请求到选定的++执行器++ ,++执行器++执行任务,任务预解释到缓存,执行器快速执行
  3. ++分布式协调器++ (zookeeper)发现++执行器++下线,重新分配下线执行器的调用请求,调用的断点执行,幂等性服务负责

综述,执行器的上下线发现,调用重分配保证调用执行高可用;执行器的注册机制提供高伸缩;执行器选择,服务执行图缓存提供高吞吐,大容量支撑

数据源和连接器

上图是数据源设计类,万物皆数据,只要给连接器

数据源/ 连接器 数据源和连接器是配套

连接器提供数据源通讯,连接功能,实现读写的协议,常用的数据源有数据库,文件,rest服务等,连接器根据协议类型提供统一的读写,如,数据库-jdbc,文件-oss

数据集依赖连接器,构建数据操作视图

接口和数据集

上图是接口和数据集的设计类,

数据集统一接口读写数据源接口,提供大粒度面向业务的api,定制化的数据;支持多数据源融合,引入flink,多数据源通常时长在分钟级

数据集构建器 数据集构建器提供可视化构建数据集的能力,每种类型对应构建器

接口接口是数据集的出入口,核心是配置数据集,下图是接口的属性设置

异步接口 一些接口执行时间比较久,例如,多数据源的融合,分钟级别,异步接口支持事件驱动,长时间接口完成后,通知服务继续流水线。

服务和编排

上图是服务和编排的设计类

编排/ 拓扑 组合接口,合成需要的数据,直接面向应用业务;拓扑有链状和图状,链状较简单,数据一个接一个地通过各节点(接口);图状拓扑需要合并和分叉的处理节点,对数据合流和分流。

服务 服务是可调用的实体,设置执行要素,包括url,负载均衡

转换器 转换器负责格式的转换(json/xml),字段的映射对照,使用规则引擎,映射和转换接口的输入和输出,以适应消费者的需要

相关推荐
IT研究所2 天前
IT 资产管理 (ITAM) 与 ITSM 协同实践:构建从资产到服务的闭环管理体系
大数据·运维·人工智能·科技·安全·低代码·自动化
岱宗夫up2 天前
基于OpenCode搭建Skills环境
python·低代码·ai编程
freepopo3 天前
行业内可靠的现代简约装修设计公司
低代码
freepopo3 天前
天津正规的现代简约装修设计公司
低代码
AC赳赳老秦4 天前
低代码AI化革命:DeepSeek引领智能开发新纪元
网络·人工智能·安全·web安全·低代码·prometheus·deepseek
麦聪聊数据8 天前
从数据采集到 API 市场的完整技术链路
数据库·sql·低代码·微服务
OpenTiny社区9 天前
TinyEngine 2.10 版本发布:零代码 CRUD、云端协作,开发效率再升级!
前端·vue.js·低代码
低代码布道师9 天前
【教培管家】小程序实战(八)——我的课表
低代码·小程序·云开发
红迅低代码平台(redxun)9 天前
生态开放度对决:是选择“全家桶”闭环,还是拥抱“最佳组合”开放平台?
低代码·ai开发平台·智能体开发平台·红迅软件·红迅ai低代码开发平台
低代码布道师10 天前
【教培管家】后台订单管理与预约确认
低代码·小程序·云开发