批量作业调度工具Taskctl Web应用版/ETL免费调度工具/数据挖掘,抽取,转换工具
写在前面:
作业调度系统是一个相对复杂的系统,涉及的内容繁杂,针对的场景多种多样,实现的方案千差万别,是一个需要理论和实践并重的系统。
本文重点谈理论,会先从大的场景划分的角度对市面上的各种调度系统进行分类讨论,然后再针对具体的作业调度系统,探讨一下各自的架构流派和实现方案,并简单分析一下各自的优缺点。希望能让大家对作业调度系统要做什么,该怎么做,有一个大致的了解
调度系统,更确切地说,作业调度系统(Job Scheduler)或者说工作流调度系统(workflow Scheduler)是任何一个稍微有点规模,不是简单玩玩的大数据开发平台都必不可少的重要组成部分。
除了Crontab,Quartz这类偏单机的定时调度程序/库。开源的分布式作业调度系统也有很多,比较知名的比如:oozie,azkaban,chronos,taskctl等等,此外,还有包括阿里的TBSchedule,SchedulerX,腾讯的Lhotse,当当的elastic-job,唯品会的Saturn等等
可以说,几乎每家稍微有点规模的数据平台团队,都会有自己的调度系统实现方案,要不然自研,要不然在开源的基础上进行一些封装和改造(比如很多公司采取了封装oozie的方式)。
接下来我们就深耕了解一下近些年比较新颖的10万级商业批量作业调度工具Taskctl最新上线的一款轻量级横向衍生的Web应用版
关于taskctl Web应用版
功能特性与授权
是TASKCTL 6.0下一个版本的预览版,具备TASKCTL6.0(官网最新发布版)功能和一些新特性(如工程级变量管理,作业分片执行,微批循环等)。免费授权规格如下表:

(备注:软件未注册,不能实现7*24h连续自动化运行,因此不能用于生产环境。)
应用简介
Taskctl在线应用版V1.2相比C/S应用端功能完整,并精简部分操作逻辑,适合初学者体验taskctl产品,也能作为中小项目生产应用。
安装环境

初识Taskctl-Web版
Taskctl Free应用版原型是在原有商用版Taskctl 6.0衍生扩展开发出的专门为批量作业调度自动化打造的一款完全免费的轻便型敏捷调度工具。可为批量作业自动化调度者提供简单的方法来管理各类复杂作业的调度和监控管理。
Taskctl通过将企业内部复杂的作业调度依赖关系,进行灵活的统一编排和管理,带来前所未有的简单性。Taskctl采用全内存计算,基于全事件技术驱动,可简单、快速地对作业进行定义、编排和执行,并生成优化调度执行建议,从而负载均衡执行作业调度。
Taskctl作为敏捷批量调度的开拓者,产品设计从一开始就专门为整洁的体验而设计,并提供丰富、直观的用户界面,以简化常见的作业调度执行编排流程。
Taskctl-Web应用版遵循软件产品标准化的原则,以“专业、专注”为设计理念,结合 ETL 调度领域自身的特点,构建了一套直观易用的 ETL 控制容器调度设计、监控 、维护、管理平台 Taskctl-Web-Application 。
功能框架

通过上图可以了解到,Taskctl-Web 是Taskctl 中客户端应用软件家族的重要一员。
软件下载&安装
安装下载:去公众号【taskctl】回复 "领取" 或 "软件" 即可
有三大功能模块:
系统特性
在 Windows 桌面客户端的基础上, TASKCTL 重新构建了一套基于 web 浏览器的应用 taskctl-web-application 。它具有如下特性:
功能完整:实现了桌面客户端 Admin,Designer,Monitor 所有的功能(包括高级分析功能)
部署简单:采用安装程序一键部署应用,不需要部署额外的 web 容器
体验简介:重新优化图形操作体验,简化操作步骤
合理导向:重新组织了页面 UE,让每个操作自然流畅
性能卓越:200k 带宽、单核处理器即可实现 10 个用户同时应用
稳定可靠:直接与调度服务核心通讯,信息更直接可靠。
登录界面
平台部署的时候,已经确定了调度服务端信息。因此不必再像桌面客户端一样需要输入调度服务端地址。

如上图所示:输入正确的用户名、密码点击“登录”按钮,登录成功后, Taskctl-Web-Application 将根据登录用户进行一系列的初始化操作,加载基本的运 行信息。
主界面
成功登录后,即可进入 taskctl-web-application 平台主界面。系统对各个组件进行了合理的初始化布局,如下图所示:

通过上图,我们可以直观的看到 Taskctl-web-application 具备了传统 web 应用软件的 “街头 banner”、 “顶部导航”,以及主框架区域。
Banner 与导航
提供了资源快速定位搜索框,消息提醒小红点以及当前登录用户信息。如下图所示:
