简介

       集成平台是企业或系统的交通中枢,连接并协调各孤立的应用、数据和设备,打破信息孤岛,让信息和业务流程在不同系统间自由、高效地流动。本平台支持拖拽逻辑数据通道,调用runtime构建物理数据通道,实现0代码搭建系统间数据交换。

        本系列解释集成平台的源码原理,包括数据通道,runtime,目前runtimerocketmq connect

        本文介绍数据设计的落地和代码实现细节

术语

连接器 

数据通道 

参考资料

《集成中台设计-服务,接口,数据集和数据源》

技术架构

下图是集成平台的技术架构

集成平台 “画”逻辑数据通道,支持可视化拖拽

rpc  调用runtime构建和运行物理通道,获取连接器状态metrics等

rocketmq connect  目前runtime实现是rocketmq connect,数据通道的物理实现者,worker是其核心组件,包装执行连接器,默默搭通消息总线,连接source/target;提供集群,分片,位点,配置等核心服务

逻辑架构

domain  逻辑数据通道的模型,包括源连接器,目标连接器,转换,数据总线,runner等

domain.client  远程调用接口,定义与runtime api的构建和运行物理的连接器通道的契约

domain.facade 聚合接口,聚合通道所有组件的服务

console 管理台,负责画逻辑数据通道,下发逻辑通道到runtime,运行

console.client  domain.client对应rocketmq connect实现,构建/启停connector等操作,可扩展其他,如,kafka,pulsar

console.web  

persistence 事件通道模型持久实现,目前实现neo4j/jpa

transform 转换组件,转换是rocketmq connect的类型,实现基于规则的转换

领域模型

数据通道领域是本组件的核心

组件模型

Component   组件基类,定义组件基本属性和行为,支持可视化拖拽

ClassComponent 类型组件,定义组件类型(class),参数元数据(ParameterMetadata)

ParameterMetadata 参数元数据,名称name,属性require是否需要;属性secret是否保密,用于界面构建属性,验证属性合法性

ObjectComponent 对象组件,是类型的实例,即,配置参数,对应ParameterMetadata

数据通道模型

数据通道领域可以分3层,类型,实例;运行

DataBridge  数据通道,一组数据源和数据目标,转换构成;多个数据源输入,经过转换器,写入目标数据源

DataSourceClass/EventTargetClass/TransformClass  源/目标事件/转换类型定义,包括各组件的属性,参数定义

EventSource/EventTarget/Transform 源/目标事件/转换对象实例,可以理解为:类型+参数

Runner   启动运行器,设置运行环境和资源

DataBus  运行总线,包括source和sink连接器之间的数据管道,提供位点,持久,处理ack,出入计数等服务,目前rocketmq队列实现

插件模型

连接器扫描,分类,注册, 检测等

服务API

api分两个接口AdminFacade,BusinessFacade

AdminFacade 管理类api,包括插件类型列表,插件类型注册,使用者是系统管理员

BusinessFacade 业务类api,用户构建逻辑事件通道,运行事件通道,使用者是最终用户

api划分为4个域,插件域,组件类型域逻辑通道域运行域

api概览

  • 插件域

插件api列表插件分类,分类的插件

  • 类型域

组件类型注册,组件配置元素据

  • 逻辑通道域

构建逻辑数据通道

  • 运行域

运行域负责连接器启停,运行状态获取

架构review

本节回顾一下架构设计,并与实现代码比较

逻辑架构

下图是逻辑架构设计


设计4个核心类,连接器,数据集,接口,服务

连接器和数据集对应实现中的连接器,接入数据源,条件或参数,查询或写入指定的数据

数据通道,对应接口和服务,但粒度比设计小,重用性降低,复杂性也降低

技术架构

架构设计是使用基于zookeeper的分布式支撑服务,注册服务,分片服务,watcher,故障转移,分析了rocketmq connect源码,自带分布式机制,以消费组作为集群,集群服务消费组变更管发现群成员上下线,成员变更

rocketmq connect提供的服务参看下一篇《集成平台实现解释(二)-运行时 架构,服务和组件》

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐