XXL-JOB 分布式任务调度平台特点
职责分离,任务调度,任务执行解耦
执行一致性,任务执行不会多次重复执行
丰富的路由策略(指定那个执行实例执行)
阻塞处理 (触发的任务,上一次没有执行完,针对这种情况,提供了处理机制)
容错处理(任务执行失败,有重试机制)
架构
核心表介绍
xxl_job_group 每个appName 一条记录,执行器逗号分割存在address_list
xxl_job_registry 每个执行器一条记录
xxl_job_info 任务
一个appName 对应 多个 执行器 ,一个执行器,多个任务
注册机制
registryMonitorThread 探活进程 位移xxl-job-admin中
ExecutorRegistryThread 位于执行器中,执行器本身是个内嵌Server
执行过程
时间轮说明
有专门的线程ringThread 每1s 处理时间轮的数据,提升调度效率
XXL-JOB-Admin 调度器 HA 架构
注意实现:
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
}
}