这是我参与「第五届青训营 」伴学笔记创作活动的第 14 天
抖音春节活动
春节集卡
用户规模-亿级
资金规模-亿级
读写QPS-百万级
希望:自动化 + 定时执行 + 海量数据 + 高效稳定 = 分布式定时任务
发展历程
-
Windows批处理
-
Windows任务计划程序
-
Linux命令-CronJob 是Linux的系统命令,只能单机控制,无法适用于其他操作系统
-
单击定时任务-Timer、Ticker (单机)
-
单击定时任务-ScheduledExecutorService (单机)
-
任务调度-Quartz
-
分布式定时任务
- 定时任务是指系统为了自动完成特定任务,实时、延时、周期性完成任务调度的过程。
- 分布式定时任务是把分散的、可靠性差的定时任务纳入统一的平台,并实现集群管理调度和分布式部署的一种定时任务的管理方式。
-
执行模式
- 单机任务
- 广播任务
- Map任务
- MapReduce任务
业内定时任务框架
实现原理
用户 - 任务基础信息+触发规则+任务代码 - 控制台+任务DB - 触发器+调度器+执行器
触发器
给定一系列任务,解析它们的触发规则,在规定的时间点触发任务的调度
支持大量任务 + 支持秒级的调度 + 周期任务多次执行 + 高性能
方案 定期扫描+延时消息
时间轮(Quartz):环形队列
有点听不懂了,后面的之后再写