这是我参与「第五届青训营」笔记创作活动的第8天。
第一部分:分布式定时任务的定义以及它特点和它发展历史。
定时任务(自动化和准时两个问题) 和 分布式定时任务(高性能,可靠性,分布式部署等问题)
定时任务是指系统为了自动完成特定任务,实时、延时、周期性完成任务调度的过程。 分布式定时任务是把分散的、可靠性差的定时任务纳入统一的平台,并实现集群管理调度和分布式部署的一种定时任务的管理方式。
按触发时机分类: 定时任务:特定时间触发,比如今天15:06执行 延时任务:延时触发,比如10s后执行 周期任务:固定周期时间,或固定频率周期调度触发,比如每隔5s或 者每天12点执行
特点: 自动化,平台化,分布式,伸缩性,高可用 之行方式:单机任务/广播任务/map任务/mapreduce任务
第二部分是业内流行的分布式定时任务框架。
这一节会跟大家讲述国内的各大互联网公司使用的分布式定时任务框架。
第三部分是分布式定时任务的实现原理
在这一节会深入去讲达分布式定时任务的实现原理,会结合各大公司的方案,综合去进。 分布式定时任务核心要解决 (1)触发、(2)调度、(3)执行三个关键问题
- 触发器:Trigger,解析任务,生成触发事件
- 调度器:Scheduler,分配任务,管理任务生命周期
- 执行器:Executor,获取执行任务单元,执行任务逻辑 除此之外,还需要提供一个控制台 (Admin),提供任 务管理和干预的功能。