[Open Source] A Flink-Based Heterogeneous Data Source Transfer System Featuring Simple Operation and High-Performance Synchronization

Open SourceProcess Management
2026-06-28 05:19 3 次浏览 • 0 次下载 0KB
[Open Source] A Flink-Based Heterogeneous Data Source Transfer System Featuring Simple Operation and High-Performance Synchronization

1. Project Overview

Image

A heterogeneous data source data transfer system based on Flink.

Core Features : Synchronize data across different heterogeneous data sources, and manage and maintain synchronization tasks.

2. Open Source License

Licensed under Apache-2.0

3. Screenshots

How to Use

1. Log in to the system. The default username and password are both admin. No permission controls are configured.

Image

2. Data Source Management: Configure the data sources used for data transfer.

Image

3. Task Management: Configure from_db and to_db to construct the job_graph. 

Image

4. Task Cascade Configuration 

Image

5. Task Lineage 

Image

6. Task Scheduling 

Image

7. Task Execution 

Image

4. Feature Overview

Introduction to DatalinkX: A Heterogeneous Data Source Synchronization Service

Core Features : Synchronize data across different heterogeneous data sources, and manage and maintain synchronization tasks

Purpose: Any company with a relatively large scale and data collaboration between departments should have a project similar to DatalinkX. For example, data crawled by colleagues in the crawler team may need to be synchronized periodically to databases managed by the data warehouse team. The synchronization service centrally manages synchronization tasks, consolidates synchronization logs, and improves internal work efficiency.

Image

Project characteristics

  • Simple and Easy to Use: Quickly create data sources and synchronization tasks through a Web interface. Simple operations allow you to get started in just one minute.

  • Scheduled Triggers: Integrates with xxl-job scheduling to trigger synchronization tasks using cron expressions.

  • Configuration-Based Task Integration: Configure database information and task details through a graphical interface.

  • High-Performance Synchronization: Uses the high-performance Flink streaming computing engine.

  • Containerized Deployment: Supports Docker deployment.

5. Tech Stack

Project Technology Stack

Dependency

Version

Description

Spring Boot

3.2.1

Project Scaffolding

SpringData JPA

3.2.1

Persistence Framework

MySQL

8.0

DB Database

ElasticSearch

7.x

Supported Data Transfer Databases

Redis

5.0 ↑

Cache Database

ChunJun (formerly FlinkX)

1.10_release

Open-Source Data Synchronization Framework by KEDA

Flink

1.10.3

Distributed Big Data Computing Engine

Xxl-job

2.3.0

Distributed Scheduling Framework

Retrofit2

2.9.0

RPC Communication Service

Jackson

2.11.4

Deserialization Framework

Maven

3.6.X

Java Package Management

Vue.js

2.X

Front-end Framework

AntDesignUI

3.0.4

Frontend UI

Docker

 

Containerized Deployment

Getting Started

Middleware

Run the docker compose -p datalinkx up -d command to start all components.

Manually Set Up Components (Linux):

xxl-job: xuxueli/xxl-job/archive/refs/tags/2.3.0.zip is a pure Java project. You can clone the source code, package it into a JAR file, and start it. xxl-job depends on MySQL, so you need to modify the corresponding database connection configuration. The database schema is located at /xxl-job-2.3.0/doc/db/tables_xxl_job.sql. Simply import it into MySQL.

flink: Download flink-1.10.3-bin-scala_2.12.tgz from flink/flink-1.10.3/, extract it, navigate to the bin directory, and execute ./start-cluster.sh. On the first run, there is only one task slot by default. Visit [http://localhost:8081](http://localhost:8081) to access the Flink dashboard.

DB Layer

Execute /datalinkx-server/src/main/resources/db.sql

Backend

1. Run the datalinkx-server and datalinkx-job modules

1.1 datalinkx-server communicates with front and depends on MySQL and Redis.

1.2 datalinkx-job is responsible for submitting tasks and managing their lifecycles. It depends on xxl-job and Flink.

  • 1.2.1 After the service starts, Netty is enabled by default to listen for xxl-job task events on ${xxl.job.executor.port}.

  • 1.2.2 Detailed task execution information is accessed through the RPC capabilities of datalinkx-client at ${client.dataserver}.

  • 1.2.3 If you change the datalinkx-server port, you must also update the ${client.dataserver} configuration in datalinkx-job.

  • 1.2.4 ${flinkx.path} specifies the path to the flinkx module.

1.3 ${flinkx.path} specifies the path to the flinkx module.

2. The flinkx module is an independent project.

2.1 You need to manually execute mvn clean install -U -Dmaven.test.skip=true -Dcheckstyle.skip=true to package the plugins.

2.2 After packaging, configure the Flink address (jobmanager.rpc.address:) and port (rest.port) in flinkx/flinkconf.

Frontend

yarn install && export NODE_OPTIONS=--openssl-legacy-provider && yarn run serve
#1
资源直链https://gitee.com/dromara/tianai-captcha
去下载
星河码客

发现和分享优质开源项目,传承互联网精神,为开发者服务。

关于本站

联系我们

微信/广告合作:ITcloub (备注星河码客)

免责声明:本站资源版权归原作者所有,仅供学习与交流。如有侵权,请通过「关于我们 - 侵权投诉」联系删除。

Powered by Nuxt · Deployed on Cloudflare