【任务调度框架】概念设计版本

前言:

  任务调度框架,无疑是非常常见的,例如爬虫,大数据处理(包括分表分库),作为平台和基础能力,其影响力不差于RPC,MetaQ等,本文主要就是介绍在任务调度框架设计方面的一些理念

概念:

  Job:Job属于一类任务,本质是任务的定义,调度的最小单位;

  Task:Task属于一次Job的执行;

  子任务:子任务也是Job,由父Job在执行的时候,衍生出来的,编程术语称之为map出来的,子任务一般会即使执行(也应该支持自定义);

  JobDetail:用作存储Job的信息,定义Job的类型,包括jobParams,最好用字符串,不必太复杂化;

  Trigger:触发器,触发Job,把触发器和JobDetail交给调度器,即可执行;

  Scheduler:调度器,一个容器,以上概念都归它管理;

协作模型:

  根据任务的需要,Job的实现方式可以有不同,

  • 全单机执行
  • 并行执行
  • 广播执行
  • 网格执行

调度方式:

  • Cron
  • Fixed delay
  • Fixed rate

MapReduce:

  处理分布式任务,有了map,自然也会有reduce的需求;

 

、、、、、、写文章真难,太晚了,下次有时间补上细节

posted @ 2021-04-12 01:44  饭小胖  阅读(159)  评论(0编辑  收藏  举报