这是我参与「第五届青训营」伴学笔记创作活动的第 12 天
要点:
- 从春节集卡瓜分20亿说起
- 分布式定时任务的前世今生
- 业内流行的分布式定时任务框架对比介绍
- 分布式定时任务的实现原理
- 分布式定时任务的业务应用
课程1-抖音春节活动 & 定时任务发展之路
定时任务:自动完成特定任务,实时、延时、周期性
分布式定时任务执行方式:
a.单机任务:单机执行单个任务
b.广播任务:所有机器执行同一个任务
c.map任务:将大任务拆解为多个子任务
d.map-reduce任务:将大任务拆解为多个子任务,并且需要汇总进行计算
课程2-分布式定时任务实现原理
核心任务:触发、调度、执行任务
a.触发器:Trigger,解析任务,生成触发事件
核心职责:给定一系列任务,解析触发规则,在规定的时间点触发任务的调度
设计约束:需要支持大量任务;需要支持秒级的调度;周期任务需要执行多次;需要保证秒级扫描的高性能,避免资源浪费。
方案1:定时扫描+延时消息
方案2:时间轮
b.调度器:Scheduler,分配任务,管理任务生命周期
随机节点执行、广播执行、分片执行;
节点选择、任务分片、任务编排、故障转移
c.执行器:Executor,获取执行任务单元,执行任务逻辑
注册、调度、回调、心跳检测
d.控制台:Admin,提供任务管理和干预功能