分布式定时任务|青训营笔记

141 阅读2分钟

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

分布式定时任务整体架构

控制台Admin详细设计

触发器Trigger详细设计

调度器Scheduler详细设计

执行器Executor详细设计

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

  • 单机任务:随机触发一台机器执行任务,适用于计算量小、并发度低的任务

  • 广播任务:广播到所有机器一起执行同一个任务,适用于多机器同时清理日志等

  • Map任务:一个任务可以分出多个子任务,每个子任务完成一部分的计算,适用于计算量大、单机无法满足要求的任务

  • MapReduce任务:在Map任务的基础上,还可以对所有的子任务的结果进行汇总计算,适用于、计算量大,并且需要对子任务汇总的任务

美团开源分布式定时任务框架 Xxl-job 详解

XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。可视化界面进行任务的启动,执行,中止以及包含了日志记录与查询和任务状态监控。

XXL-JOB中“调度模块”和“任务模块”完全解耦,调度模块中的所有调度任务使用同一个QuartzJobBean,即RemoteHttpJobBean。不同的调度任务将各自的调度参数维护在各自的扩展表数据中,当触发RemoteHttpJobBean执行时,将会解析不同的调度参数发起远程调用,调用各自的远程执行器服务。

image.png

xuxueli/xxl-job: A distributed task scheduling framework.(分布式任务调度平台XXL-JOB) (github.com)

分布式任务调度平台XXL-JOB (xuxueli.com)

环境:Maven 3+、Jdk 1.7+、Mysql 5.6+

  1. 下载官方源码
  2. 将项目中 /xxl-job/doc/db/ 目录下的 tables_xxl_job.sql 的数据库表导入数据库

分布式定时任务详解 - 掘金 (juejin.cn)

[XXL-JOB分布式调度框架全面详解,一篇就够啦! - 掘金 (juejin.cn)] (juejin.cn/post/694839…)