
单机 crontab 在业务长大后必然崩溃,触发信号有三个:任务执行时间开始超过调度周期(上一轮没跑完下一轮又启动)、多机部署后同一任务重复执行(每台机器都有 crontab)、任务失败没人知道(静默失败累积成数据事故)。分布式调度系统(XXL-Job、Elastic-Job、TCT 类)解决的就是这三件事:调度中心统一触发、执行器集群分片、失败告警与重试。一、架构分层:调度中心与执行器分离
百万级数据量的批处理任务(如账单生成),单机执行要几小时——用分片广播:调度中心一次触发,所有执行器都收到,每个执行器按「分片总数 + 分片序号」处理自己的那一片(id % shardTotal == shardIndex)。要点:分片键分布要均匀(哈希取模前先验证数据分布);执行器扩缩容时分片数变化,任务要支持按新分片数重跑(幂等保证重跑安全)。

任务视图三件套:今天该跑的任务跑完没有(调度成功率)、每个任务耗时趋势(变慢预警)、失败任务的积压队列。定时任务系统的故障模式是「静默」——观测做不好,问题都是业务方先发现。

定时任务系统的成熟标志:任何一台执行器宕机任务照常跑、任何一次调度失败 10 分钟内有人知道、任何一天的数据漏跑能一键补齐。这三句话做到,批处理链路就是生产级的。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。