xxl-job学习1:整体架构
1:下载xxl-job源码,主体分为三个模块
1):admin服务器端,提供任务、执行器注册,任务调度和配置
2):core,核心功能模块
3):sanmples(demo)业务接入方,通过配置文件进行job和调度器的注册
2:初始化数据库
1)tables_xxl_job.sql文件的建表语句执行
2)修改配置文件对应的数据库连接:xxl-job-admin模块下的application.properites
spring.datasource.url=jdbc:mysql://xxx:xxx/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai spring.datasource.username=root spring.datasource.password=xxx spring.datasource.driver-class-name=com.mysql.jdbc.Driver
3:启动,通过springBoot方式本地启动
分别启动XxlJobExecutorApplication(业务)和XxlJobAdminApplication(服务端)
4:配置
服务端启动,默认:http://localhost:8080/xxl-job-admin 进行用户名(admin)和密码(123456)登录;
1)执行器
默认已经注册一个执行器,执行器配置文件为 application.properties,
### xxl-job executor appname xxl.job.executor.appname=xxl-job-executor-sample ### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null xxl.job.executor.address= ### xxl-job executor server-info xxl.job.executor.ip= xxl.job.executor.port=9999 ### xxl-job executor log-path xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler ### xxl-job executor log-retention-days xxl.job.executor.logretentiondays=30
2)Job注册
默认实现了任务ID :1
com.xxl.job.executor.service.jobhandler.SampleXxlJob#demoJobHandler
5:系统设计
a):xxl-job架构图 v2.1.0
主要是:任务管理(任务注册和配置),执行器管理(注册和配置),调度器,执行器,以及一些日志和数据模块
b):任务执行流程
1):任务和执行器注册,业务方配置,注册到admin
2):任务触发(手动触发或者quartz调度),扔到执行队列queue;执行线程通过注册信息,使用netty调用到业务方
3):结果回调
4):监控运营
c):quatz调度架构如下