xxl-job基本使用

2020-08-24  本文已影响0人  hk_faith

简介

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

设计思想

将调度行为抽象形成“调度中心”公共平台,而平台自身并不承担业务逻辑,“调度中心”负责发起调度请求。
将任务抽象成分散的JobHandler,交由“执行器”统一管理,“执行器”负责接收调度请求并执行对应的JobHandler中业务逻辑。
因此,“调度”和“任务”两部分可以相互解耦,提高系统整体稳定性和扩展性;

系统组成

下载运行

github:
https://github.com/xuxueli/xxl-job
国内:
http://gitee.com/xuxueli0323/xxl-job

运行调度中心

1.初始化 调度数据库初始化SQL脚本 位置

/xxl-job/doc/db/tables_xxl_job.sql
  1. 修改 xxl-job-admin 项目配置 application.properties
### xxl-job, datasource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
  1. 修改logback.xml 中的 log.path 路径

运行执行器

依照 springboot项目为例。位置 xxl-job-executor-sample/xxl-job-executor-sample-springboot

  1. 修改 项目配置 application.properties
### 调度中心部署跟地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。
执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册;

xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
  1. 修改logback.xml 中的 log.path 路径

maven 依赖

调度中心和执行器要依赖 xxl-job-core 版本要一致

<!-- https://mvnrepository.com/artifact/com.xuxueli/xxl-job-core -->
<dependency>
    <groupId>com.xuxueli</groupId>
    <artifactId>xxl-job-core</artifactId>
    <version>${最新稳定版本}</version>
</dependency>

调度中心集群

调度中心支持集群部署,提升调度系统容灾和可用性。
调度中心集群部署时,几点要求和建议:

执行器集群

执行器支持集群部署,提升调度系统可用性,同时提升任务处理能力。
执行器集群部署时,几点要求和建议:

添加任务

?? 处理大量数据的时候:
1.多执行器动态分片,如果某个执行器挂了,怎么办?
2.单执行期,手动划分数据段,启动多个定时任务

?? 延迟任务的实现思路
https://github.com/xuxueli/xxl-job/issues/373

上一篇 下一篇

猜你喜欢

热点阅读