【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

微众开源数据交换平台 Exchangis,可跨多数据源实现传递共享

  • 2020-06-11
  • 本文字数:2394 字

    阅读完需:约 8 分钟

微众开源数据交换平台Exchangis,可跨多数据源实现传递共享

Exchangis 是微众银行开源的数据交换平台,用于数据在不同计算存储中快速传递,并解决数据交换过程中面临的序列化反序列化耗时长、传输限流、数据读写权限管控、组件版本兼容性等问题。设计上采取微服务架构,上下层服务松耦合,易于进行定制扩展开发。

Exchangis Github 地址:

https://github.com/WeBankFinTech/Exchangis

一、Exchangis 是什么

Exchangis 是一个数据交换系统,便捷且安全地进行数据交换流程是其主要职责。它提供创建和管理数据交换任务的功能,目的是以类似任务总线的方式,满足现有的同构或者异构数据源之间数据传输、管理的需求。Exchangis 将数据交换中涉及的数据源抽象化,可以随时更新和修正数据源连接,数据交换任务的执行流程也被拆分成几大部分,对任务有更细粒度的管理。


Exchangis 底层使用的执行引擎具有可替换性,目前主要使用的执行引擎是基于阿里 DataX 框架二次开发后的成果,支持以记录或者二进制两种方式进行数据传输。

二、为什么需要 Exchangis

随着数据利用率的提高和数据共享行为变得频繁,对于大数据平台应用开发来说,如何进行数据交换是每个平台组件都绕不过去的问题。目前大数据平台应用开发的痛点围绕在如下五点:


1. 随着大数据平台数据来源的增多,以及大数据集群本身之间的隔离,数据彼此之间缺少稳定安全的传输交换通道。


2. 不同业务数据的存储方式不一样,缺少统一标准的数据交换协议。


3. 数据所处的网络环境不一样,没有便捷的平台管理工具。


4. 数据通常对应有不同的数据属主和用户权限,不同用户之间的数据交换方向不可控。


5. 缺少便捷的数据交换操作入口,在配置自动化,报表图形化方面都有所欠缺。


可以说 Exchangis 的设计就是为了解决如上的痛点,作为一个平台系统,它针对数据交换的业务场景抽象出了一套统一的数据来源到目的的元数据映射结构,极大降低了用户使用数据交换的学习和使用成本,使数据在不同存储系统、不同存储格式之间的流转,变得更加的简单和易用,同时结合了数据权限管理的功能,增强用户对数据传输流向的把控和监管能力。

三、Exchangis 的技术架构

Exchangis 的设计理念是将平台的相关特性在高层抽象化为统一入口,例如任务作业管理,执行调度,权限管控等,而在底层方面(特指底层传输引擎)则采用多架构多实现的形式(例 DataX 等传输框架),不同架构之间彼此隔离,可以选择在旧传输架构上合理新增新特性,也可以选择引入新传输架构。而对于用户来说,入口是稳定且统一的。这使得 Exchangis 在特性拓展上有一定的灵活性。



  • WEB/GATEWAY Container

  • 界面和网关服务容器,用于各个服务容器之间的鉴权,外部请求的鉴权和与外部鉴权服务器的交互,维护着整个平台的路由链路。

  • SERVICE Container

  • 管理着多组和用户使用相关的 API 接口,是用户创建配置数据源,配置执行数据交换任务等业务操作的入口

  • EXECUTOR Container

  • 实际执行数据交换任务的容器,可以对接多种执行引擎,引擎之间可以自由切换,同时还维护任务作业的多种监听线程,监听作业日志、是否超时和作业资源分配

四、Exchangis 核心特征

  • 较为完善的数据源管理用户可以分别维护自己的数据源,通过绑定项目的方式共享自己的数据源,同时可以设置数据源的对外权限,控制数据的流入和流出。

  • 多传输引擎支持传输底层可以横向扩展,目前聚合了离线批量传输引擎 DataX 和大数据批量导数引擎 Sqoop,对两者功能进行了整合,还可以继续做动态扩充。

  • 多引擎服务管理基于 Spring Cloud 的特性,可以动态扩充系统的某项服务,系统会接收这些服务上报的机器信息,调整调度传输任务的负载均衡策略,同时提供统一的服务管理界面,允许管理员对这些服务进行创建系统用户等基本的机器底层操作。

  • 支持近实时的任务管控可以快速地抓取传输任务的日志以及传输速率等信息,可以实时地关闭正在运行的任务,并根据当下网络情况对单个运行中任务进行动态限流处理。

  • 任务状态自检流程系统会周期性地去捕捉长时间运行的任务和排队等待的任务,检验任务状态是否异常,对异常的任务及时释放占用的资源并收集告警信息发出。

  • 支持无结构化数据传输对底层批量传输引擎做架构改造,单独构建二进制流快捷通道,适用于某些无数据转换的纯数据同步的需求。

五、Exchangis 和 WeDataSphere


WeDataSphere 是一套一站式、金融级、开源开放大数据平台套件,已在国内最大线上银行 WeBank,经过了数年海量严苛金融业务场景的打磨和验证,表现卓越。


更多关于 WeDataSphere 的介绍,请访问:


https://github.com/WeBankFinTech/WeDataSphereExchangis


作为 WeDataSphere 的数据交换组件,负责各个工具组件与外部环境之间的数据传递工作,相对其他 WeDataSphere 组件,Exchangis 以轻量级少依赖为设计出发点,目前还暂时处理独立状态,但部分功能例如数据源管理,已整合进已开源的 Linkis 组件中,后续 Exchangis 也将作为 WeDataSphere Studio 中的节点被使用。

六、Exchangis 的前景规划

Exchangis 数据交换系统在开源版本上后续会同步做两方面的提升,一方面是自身系统架构的优化改造,支持作业拆分调度,以分布式的形式执行子作业,充分利用集群每个传输节点的资源,并逐步开放支持的数据类型,接入更多的执行引擎;对于现有引擎例如 DataX,则是会继续开放一读多写,断点续传等二次开发后的新特性。


另一方面是和 WeDataSphere 社区其他开源组件的整合, Exchangis 会将其数据源模块统一集成到 Linkis 组件中,而底层的引擎部分也会逐步做成 Linkis 的 Engine 引擎,会和 Linkis 做同步的适配。而对于 DSS(DataSphere Studio),Exchangis 则会以插件化的方式嵌入到其中,作为应用数据开发的第三方节点存在。


七、总结

Exchangis 数据交换系统,提供了一个通用化的平台,整合并增强了现有的传输交换引擎功能,为后续的改进优化提供了可能。由于篇幅的限制,本文就不再多论述更多的设计点和优化点,期待有更多的开源社区力量,帮助和完善 Exchangis 的设计,推动其更进一步的成长。


2020-06-11 11:164312
用户头像
陈思 InfoQ编辑

发布了 576 篇内容, 共 259.9 次阅读, 收获喜欢 1291 次。

关注

评论 3 条评论

发布
用户头像
1.文章里说的数据交换是指查询,还是增删改查都支持?2.如果在数据交互时需要对数据按照业务逻辑进行加工,是需要定制开发还是通过配置呢?
2020-06-11 12:11
回复
数据交换是专门用于多个数据源直接的数据交换用的,如果是对数据进行增删改查,或者是清洗加工,可以使用DataSphere Studio,DataSphere Studio作为一站式数据应用开发管理门户,可以做到从数据交换、脱敏清洗、分析挖掘、质量检测、可视化展现、定时调度到数据输出应用等,数据应用开发全流程场景需求,感兴趣请戳:https://github.com/WeBankFinTech/DataSphereStudio/blob/master/README-ZH.md

可以加wpeace0916微信进行社区交流
展开
2020-06-11 16:06
回复
多个数据源直接 _----->多个数据源之间
2020-06-11 16:07
回复
没有更多了
发现更多内容

Filecoin挖矿收益高涨,Filecoin挖矿收益怎么计算?

区块链 分布式存储 IPFS filecoin挖矿 filecoin收益

网络攻防学习笔记 Day121

穿过生命散发芬芳

网络安全 8月日更

云时代,用对工具就能让云上运维工作事半功倍!

行云管家

云计算 云服务 混合云 云时代 云运维

前阿里P8狂总结出1000页Java面试核心原理+框架篇笔记

Java~~~

Java spring 架构 面试 微服务

InfoQ引航计划|合集排版规范

InfoQ写作社区官方

引航计划

安卓主板RK3288 RK3128 RK3399有哪些特点?

双赞工控

安卓主板 rk3288主板 rk3399主板 rk3128主板

瞬间登上牛客网热榜榜首!腾讯内部68W字Netty全栈宝典简直太香了

Java 编程 架构 面试 Netty

Paxos理论介绍(1): 朴素Paxos算法理论推导与证明

OpenIM

ipfs挖矿用什么app?ipfs挖矿收益计算器怎么看?

ipfs挖矿用什么app ipfs挖矿收益计算器怎么看

Filecoin未来会涨到多少?Filecoin挖矿现在入场合适吗?

区块链 分布式存储 IPFS fil大涨 filecoin挖矿

燃炸!字节跳动成功上岸,只因刷爆LeetCode算法面试题

Java~~~

Java 架构 面试 算法 LeetCode

一上来就主从、集群、哨兵,这谁受得了

阿Q说代码

redis 命令 8月日更 五大基础类型

低代码是什么?

低代码小观

低代码 低代码开发平台

漫游语音识别技术——带你走进语音识别技术的世界

声网

语音识别

无代码是什么?

低代码小观

无代码开发 无代码 无代码平台

华为3位大咖吐血整理出600多页Spring微服务架构设计

Java~~~

Java spring 架构 面试 微服务

如何做好Clickhouse集群的监控覆盖?

BUG侦探

大数据 Clickhouse 监控系统

熟悉Linux tail 命令

林十二XII

架构实战训练营模块六作业

Clarke

驾校软件开发

(王经理)专业app小程序开发

重磅升级!融云推出 IM+RTC+X「全」通信解决方案

融云 RongCloud

开发者 音视频 通信 即时通讯

fil挖矿步骤教程是什么?fil挖矿规则是什么?

fil挖矿步骤教程是什么 fil挖矿规则是什么

爱购团购软件开发

(王经理)专业app小程序开发

财经大课:商业的边界

石云升

8月日更 财经思维

面试工长

escray

生活记录 8月日更 装修记

javaer 徒手撸一个 python 语言的分布式 rpc

awen

Python 微服务 RPC

万题库小程序开发

(王经理)专业app小程序开发

红色壹佰拼团小程序开发

(王经理)专业app小程序开发

美牙视界软件开发讲解

(王经理)专业app小程序开发

百度智能云天工物联网支持多种类数据传输!MQTT助力数据、语音、视觉应用智能化

百度开发者中心

产品 最佳实践 前沿技术 企业资讯

绿色篮子小程序开发

(王经理)专业app小程序开发

微众开源数据交换平台Exchangis,可跨多数据源实现传递共享_大数据_微众开源技术团队_InfoQ精选文章