微众开源数据交换平台 Exchangis,可跨多数据源实现传递共享
云栖号资讯:【点击查看更多行业资讯】
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!
Exchangis 是微众银行开源的数据交换平台,用于数据在不同计算存储中快速传递,并解决数据交换过程中面临的序列化反序列化耗时长、传输限流、数据读写权限管控、组件版本兼容性等问题。设计上采取微服务架构,上下层服务松耦合,易于进行定制扩展开发。
一、Exchangis 是什么
Exchangis 是一个数据交换系统,便捷且安全地进行数据交换流程是其主要职责。它提供创建和管理数据交换任务的功能,目的是以类似任务总线的方式,满足现有的同构或者异构数据源之间数据传输、管理的需求。Exchangis 将数据交换中涉及的数据源抽象化,可以随时更新和修正数据源连接,数据交换任务的执行流程也被拆分成几大部分,对任务有更细粒度的管理。
Exchangis 底层使用的执行引擎具有可替换性,目前主要使用的执行引擎是基于阿里 DataX 框架二次开发后的成果,支持以记录或者二进制两种方式进行数据传输。
二、为什么需要 Exchangis
随着数据利用率的提高和数据共享行为变得频繁,对于大数据平台应用开发来说,如何进行数据交换是每个平台组件都绕不过去的问题。目前大数据平台应用开发的痛点围绕在如下五点:
- 随着大数据平台数据来源的增多,以及大数据集群本身之间的隔离,数据彼此之间缺少稳定安全的传输交换通道。
- 不同业务数据的存储方式不一样,缺少统一标准的数据交换协议。
- 数据所处的网络环境不一样,没有便捷的平台管理工具。
- 数据通常对应有不同的数据属主和用户权限,不同用户之间的数据交换方向不可控。
- 缺少便捷的数据交换操作入口,在配置自动化,报表图形化方面都有所欠缺。
可以说 Exchangis 的设计就是为了解决如上的痛点,作为一个平台系统,它针对数据交换的业务场景抽象出了一套统一的数据来源到目的的元数据映射结构,极大降低了用户使用数据交换的学习和使用成本,使数据在不同存储系统、不同存储格式之间的流转,变得更加的简单和易用,同时结合了数据权限管理的功能,增强用户对数据传输流向的把控和监管能力。
三、Exchangis 的技术架构
Exchangis 的设计理念是将平台的相关特性在高层抽象化为统一入口,例如任务作业管理,执行调度,权限管控等,而在底层方面(特指底层传输引擎)则采用多架构多实现的形式(例 DataX 等传输框架),不同架构之间彼此隔离,可以选择在旧传输架构上合理新增新特性,也可以选择引入新传输架构。而对于用户来说,入口是稳定且统一的。这使得 Exchangis 在特性拓展上有一定的灵活性。
- WEB/GATEWAY Container
界面和网关服务容器,用于各个服务容器之间的鉴权,外部请求的鉴权和与外部鉴权服务器的交互,维护着整个平台的路由链路。
- SERVICE Container
管理着多组和用户使用相关的 API 接口,是用户创建配置数据源,配置执行数据交换任务等业务操作的入口
- EXECUTOR Container
实际执行数据交换任务的容器,可以对接多种执行引擎,引擎之间可以自由切换,同时还维护任务作业的多种监听线程,监听作业日志、是否超时和作业资源分配
四、Exchangis 核心特征
较为完善的数据源管理用户可以分别维护自己的数据源,通过绑定项目的方式共享自己的数据源,同时可以设置数据源的对外权限,控制数据的流入和流出。
多传输引擎支持传输底层可以横向扩展,目前聚合了离线批量传输引擎 DataX 和大数据批量导数引擎 Sqoop,对两者功能进行了整合,还可以继续做动态扩充。
多引擎服务管理基于 Spring Cloud 的特性,可以动态扩充系统的某项服务,系统会接收这些服务上报的机器信息,调整调度传输任务的负载均衡策略,同时提供统一的服务管理界面,允许管理员对这些服务进行创建系统用户等基本的机器底层操作。
支持近实时的任务管控可以快速地抓取传输任务的日志以及传输速率等信息,可以实时地关闭正在运行的任务,并根据当下网络情况对单个运行中任务进行动态限流处理。
任务状态自检流程系统会周期性地去捕捉长时间运行的任务和排队等待的任务,检验任务状态是否异常,对异常的任务及时释放占用的资源并收集告警信息发出。
支持无结构化数据传输对底层批量传输引擎做架构改造,单独构建二进制流快捷通道,适用于某些无数据转换的纯数据同步的需求。
五、Exchangis 和 WeDataSphere
WeDataSphere 是一套一站式、金融级、开源开放大数据平台套件,已在国内最大线上银行 WeBank,经过了数年海量严苛金融业务场景的打磨和验证,表现卓越。
作为 WeDataSphere 的数据交换组件,负责各个工具组件与外部环境之间的数据传递工作,相对其他 WeDataSphere 组件,Exchangis 以轻量级少依赖为设计出发点,目前还暂时处理独立状态,但部分功能例如数据源管理,已整合进已开源的 Linkis 组件中,后续 Exchangis 也将作为 WeDataSphere Studio 中的节点被使用。
六、Exchangis 的前景规划
Exchangis 数据交换系统在开源版本上后续会同步做两方面的提升,一方面是自身系统架构的优化改造,支持作业拆分调度,以分布式的形式执行子作业,充分利用集群每个传输节点的资源,并逐步开放支持的数据类型,接入更多的执行引擎;对于现有引擎例如 DataX,则是会继续开放一读多写,断点续传等二次开发后的新特性。
另一方面是和 WeDataSphere 社区其他开源组件的整合, Exchangis 会将其数据源模块统一集成到 Linkis 组件中,而底层的引擎部分也会逐步做成 Linkis 的 Engine 引擎,会和 Linkis 做同步的适配。而对于 DSS(DataSphere Studio),Exchangis 则会以插件化的方式嵌入到其中,作为应用数据开发的第三方节点存在。
七、总结
Exchangis 数据交换系统,提供了一个通用化的平台,整合并增强了现有的传输交换引擎功能,为后续的改进优化提供了可能。由于篇幅的限制,本文就不再多论述更多的设计点和优化点,期待有更多的开源社区力量,帮助和完善 Exchangis 的设计,推动其更进一步的成长。
【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/live立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK
原文发布时间:2020-06-11
本文作者:微众开源技术团队
本文来自:“infoq”,了解相关信息可以关注“infoq”
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
云存储网关复制模式新玩法 - 部分复制
说到云存储网关的复制模式,相信不少人都有既爱又恨的感觉。复制模式确实是一个非常实用的功能,它将数据在云端和网关侧同时保留了两份,不但降低了数据丢失的风险,同时也极大地提高了从网关访问数据的性能。如果预算允许,我相信所有用户都会选择复制模式,这样所有的数据都会缓存在网关,使用起来性能绝对是杠杠的。问题就是,复制模式对缓存容量要求高,缓存盘贵啊。 想用户所想,急用户所急,云存储网关推出了新的复制模式功能 - 部分复制。不像之前只允许整个共享运行在复制模式,这次用户可以指定文件夹,只让这些被指定的文件夹运行在复制模式,其他未指定的,默认则会运行在缓存模式。这样,用户在预算有限的情况下,就可以选择那些重要的、经常需要访问的文件夹,只让它们运行在复制模式。花很少的钱,享受更好的体验,不香吗? 下面我们就来看一下怎么使用部分复制的功能。 创建共享的时候,勾选高级设置,并选择开启复制模式,同时勾选复制模式高级设置,进入下一步,勾选配置复制目录,并按提示填上需要运行在复制模式的目录,再完成共享的创建即可。如下截图所示: 这样创建出来的共享,所有在文件夹/important和/frequent_us...
- 下一篇
运营商5G时代的新武器:边缘计算和网络切片
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 中国5G建设如火如荼,工信部数据显示:中国每周增加1万多个5G基站。如此巨量的投入,给运营商带来巨大的成本压力。相比网络基础设施快速升级,移动业务却明显滞后。这进一步加剧了运营商对移动业务增量不增收的忧虑。 5G三大业务发展现状 众所周知,5G有三大业务场景:增强型移动宽带(eMBB)、超高可靠超低时延通信(uRLLC)和大连接物联网(mMTC)。实际上,5G标准为人们绘制了一张全业务覆盖的蓝图。 在5G起步阶段,eMBB业务肯定是最主要的方式,也是大众通信的最核心需求。相比大众的高期待,运营商本身是比较纠结的。运营商5G的高额运营压力寄希望于5G更优的服务质量带来业务的增长,然而习惯于降费增速的广大用户,为此埋单的意愿并不强烈。而且依赖5G高速网络的业务需求并没有大规模爆发。 mMTC业务寄托了运营商太多的希望,也是工业互联网大力发展的基础之一,虽然数量庞大,但是物联网业务不仅仅是连接的问题,其与业务平台的紧密关联,需要强大的服务能力打通传感器与系统的互动,运营商显然准备不足。而uRL...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题