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

2019-06-19 10:48:49 浏览数 (1)

1. 为什么要使用XXL-JOB?

  • 任务调度-单体应用定时任务解决方案(存在性能、扩展、容错等问题)
  • 任务调度-第三方库Quartz实现分布式任务管理与调度(存在更新任务要同时配置部署多个应用的问题)

如果上述二种方式都不满足你的需求,我建议你尝试使用XXL-JOB或其他开源调度平台。

XXL-JOB功能:

  • 拥有集群任务管理平台,统一管理任务调度平台上调度任务,负责触发调度执行,提升调度系统容灾和可用性,可通过nginx为调度中心集群做负载均衡,分配域名。调度中心访问、执行器回调配置、调用API服务等操作均通过该域名进行。
  • 可自定义开发执行器(实际业务代码开发),负责接收“调度中心”的调度并执行;可直接部署执行器,也可以将执行器集成到现有业务项目中,同业务执行器可无限水平扩展(部署多份),通过调度中心设置策略进行负载调度。
  • 执行器管理
  • 用户管理
  • 调度日志
  • 任务管理
  • 运行报表(执行状态统计)
  • 支持Java、Shell、Python、PHP、Nodejs、PowerShell GLUE方式任务调度
  • 支持多种路由策略:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移、分片广播
  • 失败重试
  • 报警邮件提醒
  • ....

2. 架构、配置使用方式请参考官方github:

https://github.com/xuxueli/xxl-job/

3. 总结:

个人觉得XXL-JOB的实用功能如下:

  • 比较简单,开发配置容易上手
  • 可以部署同一任务多实例路由,路由策略丰富
  • 可以管理任务与任务之间的先后顺序,顺序执行
  • 有邮件报警功能和可视化运行报表功能,实时监控并处理有问题的任务
  • 可以手动执行失败的任务
  • 拥有失败重试、任务超时的机制
  • 运行模式也支持多种,可支持在线自定义任务业务
  • 任务都拥有独立负责人,可根据业务进行权限管控
  • 拥有调度日志,实时查看调度情况
  • 执行器还有自动注册到调度中心的功能
  • 开源,有项目源码,完全可以自定义开发调度中心Web端(Bootstrap ftl)
  • .....
代码语言:txt复制
 (adsbygoogle = window.adsbygoogle || []).push({});

0 人点赞