数据调度平台系统二大种类及其实现方法与流程
什么是调度系统 调度系统,更确切地说, 作业调度系统(Job Scheduler) 或者说 工作流调度系统(workflow Scheduler) 是任何一个稍微有点规模,不是简单玩玩的大数据开发平台都必不可少的重要组成部分。 除了Crontab,Quartz这类偏单机的定时调度程序/库。开源的分布式作业调度系统也有很多, 比较知名的比如:oozie,azkaban,chronos,zeus 等等,此外,还有 包括阿里的TBSchedule,SchedulerX ,腾讯的Lhotse以及我司历尽 十年磨砺的TASKCTL 作业系统的两大种类 现在市面上的调度系统根据功能性可以分为两类 定时类作业调度系统 & DAG工作流类作业调度系统 这两类系统的架构和功能实现通常存在很大的差异,下面就来跟大家普及一下这两种作业系统的不同之处; 定时类作业系统 定时类系统的方向,重点定位于大量并发的任务分片执行场景; 在实际应用场景中,通常平时维护工作需要定时执行的业务逻辑相对离散无序,仅仅存在一定的简单关联。 例如: 需要定时批量清理一批机器的磁盘空间, 需要定时生成一批商品清单, 需要定时批量对一批数据建索引, 需要定时对一批用户发送推送通知等等。 核心目标基本两点: 1.作业分片逻辑支持: 将一个大的任务拆分成多个小任务分配到不同的服务器上执行, 难点在于要做到不漏,不重,保证负载平衡