分布式任务调度XXL-JOB

XXL-JOB 分布式任务调度平台特点

职责分离,任务调度,任务执行解耦

执行一致性,任务执行不会多次重复执行

丰富的路由策略(指定那个执行实例执行)

阻塞处理 (触发的任务,上一次没有执行完,针对这种情况,提供了处理机制)

容错处理(任务执行失败,有重试机制)

架构

分布式任务调度XXL-JOB_第1张图片

核心表介绍

xxl_job_group 每个appName 一条记录,执行器逗号分割存在address_list

xxl_job_registry 每个执行器一条记录

xxl_job_info 任务

一个appName 对应 多个 执行器 ,一个执行器,多个任务

注册机制

registryMonitorThread 探活进程 位移xxl-job-admin中

ExecutorRegistryThread 位于执行器中,执行器本身是个内嵌Server

分布式任务调度XXL-JOB_第2张图片

执行过程

分布式任务调度XXL-JOB_第3张图片

时间轮说明

分布式任务调度XXL-JOB_第4张图片

有专门的线程ringThread 每1s 处理时间轮的数据,提升调度效率

XXL-JOB-Admin 调度器 HA 架构

分布式任务调度XXL-JOB_第5张图片

注意实现:

mysql数据库必须是一个

调度服务器,时间要进行同步

XXL-JOB HA方案的,nginx的配置

upstream local.xxljob.cn {
    # xxl-job-admin 的地址
    server 192.168.1.7:8080;
}

server {
    listen       80; # nginx端口
    server_name  ls.xxljob.cn; # hosts中配置的域名

    # 需要转发的uri路径
    location ~* /xxl-job-admin {
                proxy_pass  http://local.xxljob.cn; # 映射上面的upstream
    }
}

你可能感兴趣的:(架构相关,分布式,服务器,运维)