一飞开源quartz插件,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!
一飞开源-开源推荐,致力于将开源项目技术应用第一时间推送给目标用户,降低开源作者、开源团队、开源组织的开源项目运营推广难度及成本,让开源项目精准畅通传递触达至目标群体,传递价值、分享共赢!
一、开源项目简介
Smart (开源版本)
基于当前互联网最热门的微服务后端架构,采用丰富的前端vue、iview等组件技术构造的大数据调度服务监控平台,旨在解决企业数据抽取业务场景中,无法通过web方式配置、调度、监控的痛点。
引言
本产品是基于开源Kettle自研的Kettle核心接口调用基础组件,其实早在5年前就想搞了,构思了很久,拖到现在,不过还行,现在也不晚吧
最初的想法是启蒙于当年给烟草做过的一个数据交换平台的项目,数据的抽取是基于Kettle 5.x版本, 使用kettle的spoon客户端做的数据抽取
为企业解决了棘手并且重要的ETL问题,因此Kettle是一款非常优秀的开源数据抽取工具。
同时,kettle自身也有很多的问题,比如,
- 只能使用客户端配置作业、转换
- 跨平台移植困难
- 数据安全性较差,系统一旦崩溃,文件库的内容容易丢失
- 客户端非常耗内存、CPU,只适合配置,不适合做业务
- Web界面极其简单、丑陋,生产环境无法投入使用
基于上述几个企业痛点,我才决定工作之余,每天借用一点休息时间,慢慢积累,坚持不懈,才有了今天Smart Kettle调度平台的出世,也希望能切实
帮助到企业解决数据抽取、调度、监控的问题。
企业的痛点
Smart Kettle是针对上述企业的痛点,对kettle的使用做了一些包装、优化,使其在web端也能
具备基础的kettle作业、转换的配置、调度、监控,能在很大一定程度上协助企业完成不同业务场景下
数据的ETL(抽取、转换、加工)的能力。
注意:本系统并非是对kettle源码的再造,而是借助kettle的API,实现kettle在web端功能华丽的转身
二、开源协议
使用GPL-3.0开源协议
三、界面展示功能概览
登录界面内置了两个账号,一个是admin,一个是quartz插件,密码1
调度大盘上半部分,展示近期实例运行详情,包括运行成功、运行失败、运行中、以及未运行的实例总体概况
调度大盘中间部分,则通过图表统计作业以及转换实例的分类情况
调度大盘下半部分,则主要展示实例在某段时间的运行趋势如何,可以透过折线图很直观的看出每个时间段的 执行情况,包括运行失败、运行成功的次数分布 调度大盘的最下面则主要统计任务告警情况
在作业调度查询界面,选择新建作业(已有),则将会从资源库中选择已通过客户端配置好的
作业
在作业调度查询界面,选中目标作业之后,在上方点击合适的执行按钮,将会执行对应任务,并实时监控任务状态
在作业调度查询界面,选中目标作业之后,点击调度监控,则可以查看作业的调度图
上述所有操作,转换调度的操作方式同作业类似
实时查看转换调度运行情况
可随时编辑转换信息
可随时编辑转换信息
在作业定时界面中,您可以选择任意的定时规则
便于后续任务调度过程中任务执行细节的跟踪,方便开发或运维人员精准找出任务异常原因
四、功能概述1. 它是一款超轻量级的 web端调度监控平台2. 它的平台实现充分基于"前后端分离"思想3. 它的后端实现基于互联网最流行的微服务技术4. 它的前端实现基于互联网最流行的渐进式VUE框架五、技术选型
技术方案
技术栈:
- 前端使用nginx 作为前端服务器
- 前端使用vue作为展现框架
- 数据库端使用mysql作为基础数据库
- 数据库监控使用Druid作为基础监控
- 定时调度使用Quartz作为基础插件
- 后端框架使用Springboot+Mybatis作为组合
演示环境:
- 详细内容请查看 README.md 文档
项目简介
整个工程的目录结构如下:
后端工程:
├─doc
│ └─database
│ ├─MySql_ds0 --基础数据库设置
│ └─MySql_ds1 --基础数据库设置
├─docker --容器部署详情
├─folder
├─jenkins --jenkins持续部署详情
├─settings --maven默认配置
├─src
│ ├─main
│ │ ├─java
│ │ │ └─org
│ │ │ └─yaukie
│ │ │ └─frame
│ │ │ ├─autocode --代码机入口
│ │ │ │ ├─controller
│ │ │ │ ├─dao
│ │ │ │ │ └─mapper
│ │ │ │ ├─model
│ │ │ │ └─service
│ │ │ │ ├─api
│ │ │ │ └─impl
│ │ │ ├─config --系统基础配置入口
│ │ │ ├─kettle
│ │ │ │ ├─api --kettle核心接口所在位置
│ │ │ │ ├─core
│ │ │ │ ├─listener --kettle监听所在位置
│ │ │ │ ├─quartz --定时器所在位置
│ │ │ │ └─service
│ │ │ ├─listener
│ │ │ └─pool --线程池配置所在位置
│ │ └─resources --核心配置所在位置
│ │ ├─mapper
│ │ ├─template
│ │ └─ui
│ │ └─images
│ └─test
│ └─java
│ └─org
│ └─yaukie
│ └─frame --核心逻辑所在位置
前端工程:
├─docker
│ ├─dev
│ └─prod
├─jenkins
├─public
│ ├─cron
│ └─json
├─src
│ ├─api
│ │ ├─login-form
│ │ ├─main
│ │ │ └─components
│ │ │ ├─a-back-top
│ │ │ ├─error-store
│ │ │ ├─fullscreen
│ │ │ ├─header-bar
│ │ │ │ ├─custom-bread-crumb
│ │ │ │ └─sider-trigger
│ │ │ ├─language
│ │ │ ├─side-menu
│ │ │ ├─tags-nav
│ │ │ └─user
│ │ ├─page-box
│ │ │ └─src
│ │ │ └─styles
│ │ │ └─css
│ │ ├─page-table
│ │ │ └─src
│ │ │ ├─components
│ │ │ └─styles
│ │ │ └─css
│ │ ├─parent-view
│ │ ├─search-box
│ │ │ └─src
│ │ │ └─styles
│ │ │ └─css
│ │ ├─upload-file
│ │ │ └─src
│ │ │ └─styles
│ │ │ └─css
│ │ ├─upload-img
│ │ │ └─src
│ │ │ └─styles
│ │ │ ├─css
│ │ │ └─images
│ │ ├─upload-img-list
│ │ │ └─src
│ │ │ └─styles
│ │ │ └─css
│ │ ├─upload-video
│ │ │ └─src
│ │ │ └─styles
│ │ │ ├─css
│ │ │ └─images
│ │ └─weeks
│ │ └─src
│ ├─config
│ ├─directive
│ │ └─module
│ ├─libs --工具类
│ ├─locale --国际化配置
│ │ └─lang
│ ├─mock
│ │ └─data
│ ├─router --基础路由配置
│ │ └─modules
│ ├─store --系统状态机
│ │ └─module
│ ├─styles
│ │ └─components
│ └─view --调度平台核心前端功能
│ ├─business --业务配置
│ ├─examples
│ │ ├─common
│ │ └─page
│ ├─exception --异常监控
│ ├─homepage --调度大屏
│ │ └─common
│ ├─job --作业调度
│ ├─log --日志监控
│ ├─login --登录模板
│ ├─pool --线程池配置
│ ├─repo --资源库配置
│ ├─scheduler --定时器调度
│ ├─task --定时调度
│ ├─trans --转换调度
│ └─warning --告警监控
环境要求六、源码地址
访问一飞开源:
限时特惠:本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情
站长微信:Jiucxh