项目经验还写外卖和商城?来看看异构数据源数据流转服务 DatalinkX

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 你是否马上准备秋招、春招但没有项目经验,总觉得竞争力低你是否一直浸泡在增删改查的业务代码,恼火技术成长过慢你是否厌倦了XX学院、XX商城、XXRPC框架等网红项目你是否想接触一线互联网公司项目架构与前沿技术栈来跟我一起从零搭建基于Flink的异构数据源同步服务

前言

作为一个年迈的夹娃练习生,每次到了春招秋招面试实习生时都能看到一批简历,十个简历里得有七八个是写商城或者外卖项目。


不由得想到了我大四那会,由于没有啥项目经验,又想借一个质量高点的项目通过简历初筛,就找到了谷粒商城,面对408集的视频教程实在是难以坚持到终点。。。并且很多时候都是因为项目里有庞大的增删改查而感到厌烦。


(504w的播放量可不得人手一个嘛.....) 如果不想再把外卖商城项目写在简历上,不妨来看看基于Flink的异构数据源流转系统。

【DatalinkX】基于Flink的异构数据源流转系统

Gitee仓库地址: https://gitee.com/atuptown/datalinkx

DatalinkX是一个基于Flink大数据引擎的异构数据源同步系统,本质上就是通过页面配置的方式将数据从从来源数据源将数据同步到目标数据源。

既然是异构数据源流转系统,肯定既可以是相同类型的数据源之间流转,也可以是不同的数据源之间流转,有些年轻的朋友可能会疑惑,为什么要有那么多数据源呢?

随着大数据时代的发展,业务场景的日益复杂,稍具规模的企业内部都会使用各种各样的数据源,不同的数据源类型在不同的场景下能够充分发挥各自的优势,更好的辅助于业务。

而业务数据存储在不同DB中,就需要一个异构数据源之间的数据流转工具来流转和管理数据。

亦或是不同部门之间做数据同步,比如做爬虫的同事把数据爬到了MySQLa,而后端同事的服务使用的都是MySQLb,你需要把爬虫同事的数据拿来完成业务开发。

手动同步一次可以,也不能天天手动同步吧,那么这时候如果你有DatalinkX,你只需配置好两个数据源的连接信息和同步任务,就会按照你定时的时间将MySQLa中的数据一条不漏的同步到MySQLb中。

技术架构

QA

  1. SpringBoot没啥好说的,Java后端的看家技能,基础脚手架依赖。版本比较低是因为懒得换了.....
  2. 为啥用JPA不用Mybatis是因为毕业之后一直在用JPA快忘了Mybatis咋用了,为了用的顺手就用JPA了,有不喜欢的同学直接用Mybatis、Mybtais-plus都可以,这个项目的重点不是DB层的增删改查
  3. FlinkX低版本跟高版本中我们需要的数据流转模块的差异不是很大,1.10_release我最熟悉直接用,当时咔咔调试源码
  4. Retrofit2基于Http的优雅RPC通信服务,项目里基于这个封装了一层通用clinet
  5. 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:

掌握合理的亿级数据同步架构设计
对多线程编程做一次深入实践
体验极致封装与多态技巧
多类型数据源插件设计技巧
掌握FlinkX优秀同步框架原理及使用
掌握基于Redis Stream的消息队列
了解Flink批流一体的大数据引擎
分布式调度系统Xxl-Job实践
企业级应用的部署与运维
.....

Q:工作后有必要看DatalinkX吗

A:这个项目质量还是很高的,代码运用了很多设计模式去适配当下最流行的技术组件,如果苦恼工作中都是增删改查的朋友很有必要看一手。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
数据采集 存储 数据库
2、电商数仓(业务数据采集平台)电商业务流程、电商常识、电商系统表结构、业务数据模拟、业务数据采集模块(一)
2、电商数仓(业务数据采集平台)电商业务流程、电商常识、电商系统表结构、业务数据模拟、业务数据采集模块(一)
|
11月前
|
数据采集 数据建模 BI
数据中台实战(05)-如何统一管理纷繁杂乱的数据指标?
数据中台实战(05)-如何统一管理纷繁杂乱的数据指标?
416 1
|
10月前
|
设计模式 Java 数据库
淘东电商项目(63) -聚合支付(多线程日志收集)
淘东电商项目(63) -聚合支付(多线程日志收集)
42 0
|
11月前
|
前端开发 JavaScript
21分布式电商项目 - 商家审核
21分布式电商项目 - 商家审核
47 0
|
11月前
|
前端开发 JavaScript
27分布式电商项目 - 商品录入(基本功能)
27分布式电商项目 - 商品录入(基本功能)
72 0
|
消息中间件 弹性计算 关系型数据库
使用EDA架构部署在线外卖订单系统
本实验将使用消息系统构建超级外卖订单,通过订单流转及处理阐述如何在多环境,复杂场景下使用消息做订单解耦,业务分发等。
120 1
|
消息中间件 运维 监控
消息队列和应用工具产品体系-完美日记电商业务案例
消息队列和应用工具产品体系-完美日记电商业务案例
消息队列和应用工具产品体系-完美日记电商业务案例
|
存储 安全 数据挖掘
外卖跑腿/同城跑腿/校园跑腿/同城配送外卖系统开发规则玩法/案例设计/逻辑方案/需求程序/源码
外卖跑腿、同城跑腿、校园跑腿和同城配送外卖系统开发,是指开发一个用于管理和协调外卖送餐和快递物品的平台或应用程序。该系统能够连接顾客、骑手和商家,提供顾客下单、骑手接单、派送商品等功能。
|
数据采集 消息中间件 数据可视化
2、电商数仓(业务数据采集平台)电商业务流程、电商常识、电商系统表结构、业务数据模拟、业务数据采集模块(二)
2、电商数仓(业务数据采集平台)电商业务流程、电商常识、电商系统表结构、业务数据模拟、业务数据采集模块(二)
|
算法 安全 搜索推荐
商城卷轴消费增值裂变模式系统开发部署设计建议指南
商城卷轴消费增值裂变模式系统开发部署设计建议指南