data-pipeline(分布式采数应用)

2022年08月和同事接手以前的一套老系统,系统需求不高,大部分功能都是要求使用爬虫或etl工具从第三方采集数据。以后有空再整理爬虫,这里主要谈谈我对数据采集的个人看法。
出于工作性质原因,我接触过不少的数据采集应用,有使用自研工具的、也有使用类似dataX等开源工具,虽然略有侧重,但核心仍是专注在采数。我们在做设计的时候经常强调“高内聚,低耦合”,其一目的就是为了降低各模块的耦合度,削弱模块间的关联度。回到我前面提的那套老系统,数据采集使用了第三方ETL工具,这款ETL工具或许没有定时调度功能,以前的开发人员便设计出了两套调度方案,方案1:使用crontab定时调度etl工具;方案二:在java应用远程调度shell脚本定时启动采数,java应用则使用第三方调度应用定时调度。从实现上两个方案都没问题,但从设计的角度分析,我们会发现方案一存在一定弊端:偏系统底层、无法视图化、维护成本高,如果需要临时调度一次采数,需要具备一定linux技能才能完成操作,这无形增大了系统的维护难度;方案二相较方案一略增加了复杂度,实际上也规避不了以上提到的弊端,调度强依赖第三方应用,在多任务并发的情况下还可能威胁到服务器的稳定。在后续的维护开发中,我们也不得不投入了大量的人力维持采数功能的正常运行。
data-pipeline源自我以前的一次无意实现的demo,在经过对老系统的思考,在此demo的基础上进行了二次重构。data-pipeline并不像主流ETL工具那么强大,主要的优势就是简单、灵活、轻量级。基于spingboot、quartz实现的纯java应用,只需具备java技能就能进行二次开发维护,虽然目前仅支持mysql、oracle两种类型的数据传输,但通过简单集成实现,也能满足对ES、nosql,等存储介质的数据传输。data-pipeline使用quartz实现任务的定时调度,quartz本身也提供了分布式调度的解决方案,所以data-pipeline无疑也支持分布式部署。正所谓一个好汉三个帮,一台机器干不完的活,便多加两台机器,data-pipeline会把执行任务分配到任何一台机器,如果某台机器宕机,其他机器到执行时间也能继续执行任务。关于quartz的分布式调度,有兴趣的朋友可以单独了解下。下面开始介绍data-pepeline的安装过程:

安装教程

  • 下载源码:
[data-pipeline: 基于springboot实现分布式的数据采集应用 (gitee.com)](https://gitee.com/juque-framework/data-pipeline)

  • 在mysql创建数据库:data-pipeline,其他数据库需要自行适配DDL、DML脚本;
  • 执行data-pipeline-server/bin下面的DDL、DML脚本;
  • 根据实际环境调整如下配置:
    spring:
      datasource:
        url: jdbc:mysql://127.0.0.1:3306/data-pipeline?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
        username: root
        password: root
  • 启动应用,控制台访问路径:http://localhost:8080
  • 默认帐号密码:admin / 123321
  • 也可以下载发行版:release-*.zip,调整application- *.yml配置,启动应用:startup.sh / startup.cmd dev(对应环境的profile)

应用依赖

juque-framework是本人使用空余时间维护技术栈的一个gitee集合,data-pipeline的maven依赖统一由juque-framework管理,部分工具类引用自framework-common,都可以在此gitee集合下面找到。本地编译,可以先把这两个工程clone到本地,并install。
前端是基于vue-next-admin前端框架二次开发,详情请移步:https://gitee.com/lyt-top/vue-next-admin。vue-data-pipeline的gitee坐标:vue-data-pipeline: 数据采集应用的前端 (gitee.com)

应用预览

1.png

2.png
3.png
4.png
6.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,122评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,070评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,491评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,636评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,676评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,541评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,292评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,211评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,655评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,846评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,965评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,684评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,295评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,894评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,012评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,126评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,914评论 2 355

推荐阅读更多精彩内容