[开源]基于Flink的异构数据源流转系统,简单易用、高性能同步

科技一飞开源 2024-04-26 02:56:23

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

基于flink的异构数据源流转系统。

核心功能 :在不同的异构数据源中进行数据同步,对同步任务进行管理和维护。

二、开源协议

使用Apache-2.0开源协议

三、界面展示使用姿势登录系统,默认密码admin、admin登录,没有权限相关控制

数据源管理,配置数据流转数据源信息

任务管理,配置from_db与to_db构造job_graph

任务级联配置

任务血缘

任务调度

任务执行

四、功能概述异构数据源同步服务DatalinkX介绍

核心功能 :在不同的异构数据源中进行数据同步,对同步任务进行管理和维护

意义:只要公司规模较大,部门与部门之间有数据协作都应该有类似DatalinkX的项目,比如爬虫组的同事爬下来数据要定时同步到数仓组负责的库下。同步服务会集中管理同步任务,收拢同步日志、提高内部工作效率。

项目特性简单易用:通过Web页面快速创建数据源、同步任务,操作简单,一分钟上手定时触发:对接xxl-job定时,设置cron表达式触发同步任务配置化任务对接:将数据库信息、任务详情界面化配置高性能同步:使用高性能流式flink计算引擎容器化部署:支持docker部署五、技术选型项目技术栈

依赖

版本

描述

Spring Boot

3.2.1

项目脚手架

SpringData JPA

3.2.1

持久层框架

MySQL

8.0

DB数据库

ElasticSearch

7.x

支持流转的数据库

Redis

5.0 ↑

缓存数据库

ChunJun(原FlinkX)

1.10_release

袋鼠云开源数据同步框架

Flink

1.10.3

分布式大数据计算引擎

Xxl-job

2.3.0

分布式调度框架

Retrofit2

2.9.0

RPC通信服务

Jackson

2.11.4

反序列化框架

Maven

3.6.X

Java包管理

Vue.js

2.X

前端框架

AntDesignUI

3.0.4

前端UI

Docker

容器化部署

启动姿势中间件

执行 docker compose -p datalinkx up -d 命令将各组件启动

手动搭建组件(linux):

xxl-job: xuxueli/xxl-job/archive/refs/tags/2.3.0.zip 纯Java项目,可clone代码后打包成jar包启动,xxl-job依赖mysql,需要修改对应数据库地址配置,表结构在/xxl-job-2.3.0/doc/db/tables_xxl_job.sql,导入mysql即可。

flink:flink/flink-1.10.3/ 选择flink-1.10.3-bin-scala_2.12.tgz下载,解压进入bin目录执行./start-cluster.sh,首次运行默认只有一个任务slot,访问http://localhost:8081 进去flink后台页面。

DB层

执行 /datalinkx-server/src/main/resources/db.sql

后端

1、运行datalinkx-server与datalinkx-job模块

1.1 datalinkx-server与front交互,依赖mysql、redis

1.2 datalinkx-job负责提交、维护任务的生命周期,依赖xxl-job、flink

1.2.1 服务启动后会默认使用netty启动${xxl.job.executor.port} 负责监听xxl-job的任务事件1.2.2 任务执行详细信息通过datalinkx-client的rpc能力访问${client.dataserver}1.2.3 如果更改了datalinkx-server端口需要同步更改datalinkx-job配置项${client.dataserver}。1.2.4 ${flinkx.path}配置flinkx模块的路径

1.3 ${flinkx.path}配置flinkx模块的路径

2、flinkx模块为单独的项目

2.1 需要手动执行mvn clean install -U -Dmaven.test.skip=true -Dcheckstyle.skip=true将插件打包

2.2 打包后配置好flinkx/flinkconf中flink的地址jobmanager.rpc.address:和端口rest.port即可

前端

yarn install && export NODE_OPTIONS=--openssl-legacy-provider && yarn run serve

六、源码地址

访问一飞开源:https://code.exmay.com/

0 阅读:0

科技一飞开源

简介:感谢大家的关注