【day12】分布式定时任务实现原理 | 青训营笔记

85 阅读2分钟

这是我参与「第五届青训营」伴学笔记创作活动的第 12 天

资料

要点:

  • 从春节集卡瓜分20亿说起
  • 分布式定时任务的前世今生
  • 业内流行的分布式定时任务框架对比介绍
  • 分布式定时任务的实现原理
  • 分布式定时任务的业务应用
课程1-抖音春节活动 & 定时任务发展之路

定时任务:自动完成特定任务,实时、延时、周期性

分布式定时任务执行方式:

a.单机任务:单机执行单个任务

b.广播任务:所有机器执行同一个任务

c.map任务:将大任务拆解为多个子任务

d.map-reduce任务:将大任务拆解为多个子任务,并且需要汇总进行计算

课程2-分布式定时任务实现原理

核心任务:触发、调度、执行任务

a.触发器:Trigger,解析任务,生成触发事件

核心职责:给定一系列任务,解析触发规则,在规定的时间点触发任务的调度

设计约束:需要支持大量任务;需要支持秒级的调度;周期任务需要执行多次;需要保证秒级扫描的高性能,避免资源浪费。

方案1:定时扫描+延时消息

方案2:时间轮

b.调度器:Scheduler,分配任务,管理任务生命周期

随机节点执行、广播执行、分片执行;

节点选择、任务分片、任务编排、故障转移

c.执行器:Executor,获取执行任务单元,执行任务逻辑

注册、调度、回调、心跳检测

d.控制台:Admin,提供任务管理和干预功能

课程3-分布式定时任务业务实践