XXL-Job

xxl-Job简介

针对分布式任务调度的需求,市场上出现了很多的产品:

1) TBSchedule:淘宝推出的一款非常优秀的高性能分布式调度框架,目前被应用于阿里、京东、支付宝、国美等很多互联网企业的流程调度系统中。但是已经多年未更新,文档缺失严重,缺少维护。

2) XXL-Job:大众点评的分布式任务调度平台,是一个轻量级分布式任务调度平台, 其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

3)Elastic-job:当当网借鉴TBSchedule并基于quartz 二次开发的弹性分布式任务调度系统,功能丰富强大,采用zookeeper实现分布式协调,具有任务高可用以及分片功能。

4)Saturn: 唯品会开源的一个分布式任务调度平台,基于Elastic-job,可以全域统一配置,统一监
控,具有任务高可用以及分片功能。 

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

源码地址:https://gitee.com/xuxueli0323/xxl-job

文档地址:https://www.xuxueli.com/xxl-job/

xxl-Job特性

简单灵活
  提供Web页面对任务进行管理,管理系统支持用户管理、权限控制;
  支持容器部署;
  支持通过通用HTTP提供跨平台任务调度;
丰富的任务管理功能
  支持页面对任务CRUD操作;
  支持在页面编写脚本任务、命令行任务、Java代码任务并执行;
  支持任务级联编排,父任务执行结束后触发子任务执行;
  支持设置指定任务执行节点路由策略,包括轮询、随机、广播、故障转移、忙碌转移等;
  支持Cron方式、任务依赖、调度中心API接口方式触发任务执行
高性能
  任务调度流程全异步化设计实现,如异步调度、异步运行、异步回调等,有效对密集调度进行流量削峰;
高可用
  任务调度中心、任务执行节点均 集群部署,支持动态扩展、故障转移
  支持任务配置路由故障转移策略,执行器节点不可用是自动转移到其他节点执行
  支持任务超时控制、失败重试配置
  支持任务处理阻塞策略:调度当任务执行节点忙碌时来不及执行任务的处理策略,包括:串行、抛弃、覆盖策略
易于监控运维
  支持设置任务失败邮件告警,预留接口支持短信、钉钉告警;
  支持实时查看任务执行运行数据统计图表、任务进度监控数据、任务完整执行日志;

XXL-Job-环境搭建

 调度中心环境要求

- Maven3+
- Jdk1.8+
- Mysql5.7+

 源码仓库地址

| 源码仓库地址                         | Release Download                                          |
| :----------------------------------- | :-------------------------------------------------------- |
| https://github.com/xuxueli/xxl-job  | [Download](http://gitee.com/xuxueli0323/xxl-job/releases)   |
| http://gitee.com/xuxueli0323/xxl-job | [Download](http://gitee.com/xuxueli0323/xxl-job/releases) |

XXL-Job是一款开源的分布式任务调度平台,可以方便地进行任务调度和管理。

XXL-Job的配置说明:

  1. 数据库配置:在application.properties文件中配置数据库相关信息,包括数据库URL、用户名、密码等。

  2. 注册中心配置:在application.properties文件中配置注册中心相关信息,包括注册中心地址、端口等。

  3. 执行器配置:在application.properties文件中配置执行器相关信息,包括执行器名称、日志路径、线程池等。

  4. 调度中心配置:在application.properties文件中配置调度中心相关信息,包括调度中心地址、端口等。

  5. 鉴权配置:可以通过配置自定义的AccessToken,对调度中心进行鉴权。

  6. 报警配置:可以配置报警邮件的相关信息,包括SMTP服务器、用户名、密码等。

  7. 执行器日志配置:可以配置执行器日志的存储方式,支持本地文件存储和数据库存储两种方式。

以上是XXL-Job的一些常用配置,具体的配置内容可以根据实际需求进行调整。在配置完成后,可以启动XXL-Job,并在调度中心上配置和管理任务。

XXL-Job任务实现案例:

在XXL-Job的执行器项目中创建一个Java类,实现XxlJobHandler接口,并重写execute方法。

@Component
public class MyJobHandler extends IJobHandler {
    @Override
    public ReturnT<String> execute(String param) throws Exception {
        // 业务逻辑处理
        System.out.println("Hello, XXL-Job!");
        return ReturnT.SUCCESS;
    }
}

  1. 在调度中心上创建一个任务,指定执行器为上述创建的执行器,设置任务的名称、触发方式等。

  2. 在调度中心上配置调度策略,如按时、按日、按周等。

  3. 启动XXL-Job项目,并在调度中心上查看任务执行情况和日志。

这样,当设置的调度策略触发时,XXL-Job将会调用MyJobHandler类的execute方法执行任务,并在控制台打印"Hello, XXL-Job!"。

相关推荐

  1. <span style='color:red;'>xxl</span>-<span style='color:red;'>job</span>

    xxl-job

    2024-05-10 22:58:05      16 阅读
  2. XXL-Job

    2024-05-10 22:58:05       11 阅读
  3. xxl-job使用笔记

    2024-05-10 22:58:05       39 阅读
  4. SpringBoot 集成xxl-job

    2024-05-10 22:58:05       24 阅读
  5. Docker安装xxl-job

    2024-05-10 22:58:05       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-10 22:58:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-10 22:58:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-10 22:58:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-10 22:58:05       20 阅读

热门阅读

  1. ArrayList线程不安全的情况

    2024-05-10 22:58:05       10 阅读
  2. 计算机系统基础知识

    2024-05-10 22:58:05       11 阅读
  3. 一些有趣的Chrome命令行调用例子

    2024-05-10 22:58:05       12 阅读
  4. qt的http原理

    2024-05-10 22:58:05       14 阅读
  5. 巩固学习3

    2024-05-10 22:58:05       14 阅读
  6. nodejs后台babel在线热编译jsx

    2024-05-10 22:58:05       12 阅读
  7. Mac 报错 Zsh: command not found :brew

    2024-05-10 22:58:05       14 阅读
  8. npm详解

    2024-05-10 22:58:05       10 阅读