项目经验还写外卖和商城?来看看异构数据源数据流转服务 DatalinkX
前言
作为一个年迈的夹娃练习生,每次到了春招秋招面试实习生时都能看到一批简历,十个简历里得有七八个是写商城或者外卖项目。
不由得想到了我大四那会,由于没有啥项目经验,又想借一个质量高点的项目通过简历初筛,就找到了谷粒商城,面对 408 集的视频教程实在是难以坚持到终点。。。并且很多时候都是因为项目里有庞大的增删改查而感到厌烦。(504w 的播放量可不得人手一个嘛.....) 如果不想再把外卖商城项目写在简历上,不妨来看看基于 Flink 的异构数据源流转系统。
【DatalinkX】基于 Flink 的异构数据源流转系统
Gitee 仓库地址: https://gitee.com/atuptown/datalinkx
DatalinkX 是一个基于 Flink 大数据引擎的异构数据源同步系统,本质上就是通过页面配置的方式将数据从从来源数据源将数据同步到目标数据源。
既然是异构数据源流转系统,肯定既可以是相同类型的数据源之间流转,也可以是不同的数据源之间流转,有些年轻的朋友可能会疑惑,为什么要有那么多数据源呢?
随着大数据时代的发展,业务场景的日益复杂,稍具规模的企业内部都会使用各种各样的数据源,不同的数据源类型在不同的场景下能够充分发挥各自的优势,更好的辅助于业务。
而业务数据存储在不同 DB 中,就需要一个异构数据源之间的数据流转工具来流转和管理数据。
亦或是不同部门之间做数据同步,比如做爬虫的同事把数据爬到了 MySQLa,而后端同事的服务使用的都是 MySQLb,你需要把爬虫同事的数据拿来完成业务开发。
手动同步一次可以,也不能天天手动同步吧,那么这时候如果你有 DatalinkX,你只需配置好两个数据源的连接信息和同步任务,就会按照你定时的时间将 MySQLa 中的数据一条不漏的同步到 MySQLb 中。
技术架构
QA
SpringBoot 没啥好说的,Java 后端的看家技能,基础脚手架依赖。版本比较低是因为懒得换了.....
为啥用 JPA 不用 Mybatis 是因为毕业之后一直在用 JPA 快忘了 Mybatis 咋用了,为了用的顺手就用 JPA 了,有不喜欢的同学直接用 Mybatis、Mybtais-plus 都可以,这个项目的重点不是 DB 层的增删改查
FlinkX 低版本跟高版本中我们需要的数据流转模块的差异不是很大,1.10_release 我最熟悉直接用,当时咔咔调试源码
Retrofit2 基于 Http 的优雅 RPC 通信服务,项目里基于这个封装了一层通用 clinet
Xxl-job 和 Jackson 没啥好说的,优秀的开源组件
在系统设计中,采用最新 JDK8 + SpringBoot2 分布式架构,构建高性能大数据量下稳定可靠的数据流转系统。通过学习 DatalinkX 项目,不仅能了解其运作机制,还能接触最新技术体系带来的新特性,从而拓展技术视野并提升自身技术水平。
DatalinkX 前后端分离架构,前端使用 Vue + AntDesignUI,在学习过程中,通过前端系统直接调试后端服务,可以避免纯通过接口测试的繁琐,使得学习过程更加流畅高效。
项目文档
共计 40 核心技术文档,帮助你深入了解以及快速上手 DatalinkX 系统。项目中的文档包括六个部分,项目介绍、快速启动、核心技术文档、组件解析、常见问题 Q&A、面试问题交流。可根据自己的兴趣选择深入了解核心技术或从零到一复刻系统。常见问题 Q&A、面试问题交流这两个模块会根据反馈持续更新。
要去深入学习一个服务,最快的方式就是先把项目运行起来,然后结合服务的业务逻辑慢慢调试代码,所以大家不要因为没有接触过 Flink、Xxl-Job 等等相关组件就望而却步。只要基于 SpringBoot 的开发能力即可学习 DatalinkX 服务。
常见问题答疑
Q:DatalinkX 的面向人群?
A:常年浸泡在增删改查的业务代码里的从业者、有 Springboot 基础的的学生、想搞个毕业设计的毕业生
Q:学了 DatalinkX 有什么好处?
A:
Q:工作后有必要看 DatalinkX 吗
A:这个项目质量还是很高的,代码运用了很多设计模式去适配当下最流行的技术组件,如果苦恼工作中都是增删改查的朋友很有必要看一手。
评论