编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

分布式任务调度XXL-JOB

wxchong 2024-06-11 09:58:39 开源技术 100 ℃ 0 评论

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
    }
}

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表