XXL-JOB在docker部署调度中心(xxl-job-admin)与执行器(xxl-job-executor)详解

首先去gitee或者github下载源码

下载下来后如下图

我这里用的是master分支
如图所示,一共有三个模块(admin、core、executor)
admin: 调度中心
core:核心模块(其他系统需要集成xxl-job框架需要引入依赖core模块即可)
executor: 执行器(被集成的系统,定时任务代码所在的系统)
我这里用的两个不用的服务器环境进行配置调度中心和执行器以此来模仿集群的环境

--------------------------------调度中心部署开始分割线--------------------------------
第一步:部署admin模块
需求给admin的mysql库的连接地址及账号密码修改


改完即可打包进行部署调度中心
我的调度中心部署在了腾讯云的服务器上,目前正常运行

在这里插入图片描述
然后进入调度中心页面 账号admin 密码123456,如下图所示
XXL-JOB在docker部署调度中心(xxl-job-admin)与执行器(xxl-job-executor)详解_第1张图片
能看到这个页面说明调度中心已经部署成功了;
对于集成的系统定时任务的管理分两步:
1、维护集成系统的执行器地址(任务被唤醒后需要找到这个任务需要去哪个系统执行),这个在菜单执行器管理维护
2、维护定时任务,在任务管理进行维护
--------------------------------调度中心部署结束分割线--------------------------------
以上调度中心的部署就完成了,接下来部署执行器(被接入的系统)
------------------------------------执行器部署开始分割线---------------------------------------
我这里用的springboot框架的项目进行部署
部署步骤:
1、引入core依赖
2、修改配置文件指定好调度中心的地址
3、修改执行器注册的端口,后面需要在调度中心项目的执行器管理中进行维护
如图所示
第一步:引入依赖


执行器只需要引入core模块的依赖即可,需要注意的是:core模块的版本需要与调度中心模块的版本一致,避免出现其它不必要的问题
第二步:修改调度中心的访问地址(类似于分布式的服务注册与发现,给执行器的地址注册到调度中心,方便任务被唤醒来发现调用哪一个服务来执行该任务),如图所示:

即我部署调度中心系统的访问地址:
XXL-JOB在docker部署调度中心(xxl-job-admin)与执行器(xxl-job-executor)详解_第2张图片
第三步:修改执行器注册的端口,后面需要在调度中心项目的执行器管理中进行维护

一般执行器注册端口默认为9999,由于每个executor执行器内部都会启动一个jetty server服务,而默认的服务端口就是9999端口,ip不用指定,如果一个项目有多个实例可以指定ip,这里配置的端口后面需要在调度中心的执行器管理中进行维护
在被集成的系统中需要给xxl-job-executor的配置信息注册到bean容器中

给需要被管理的定时任务修改为XxlJob注解的形式配置value,这个value需要在调度中心的任务管理中进行维护

这里就调整完了可以打包部署了
我这里打包部署到另一个阿里的服务器上了,调度中心在腾讯的服务器上
在这里插入图片描述
这里我暴露了两个端口,一个执行器本身的端口8081,另一个executor注册到调度中心的端口9998,默认是9999
XXL-JOB在docker部署调度中心(xxl-job-admin)与执行器(xxl-job-executor)详解_第3张图片
即这两个端口
执行器启动完成后去调度中心注册执行器,配置相关信息
XXL-JOB在docker部署调度中心(xxl-job-admin)与执行器(xxl-job-executor)详解_第4张图片
这里可以自动也可以手动:
自动注册:配置的appName需要和执行器配置文件的appName一致
手动注册:需要自己手动配置执行器的ip:配置文件的端口
这个ip即我执行器部署所在的公网ip,端口为执行器配置文件里的注册端口,配置完成后,点击查看
XXL-JOB在docker部署调度中心(xxl-job-admin)与执行器(xxl-job-executor)详解_第5张图片
XXL-JOB在docker部署调度中心(xxl-job-admin)与执行器(xxl-job-executor)详解_第6张图片
这样就给执行器注册进去了
然后去配置我们执行器里写的定时任务,前往任务管理菜单
XXL-JOB在docker部署调度中心(xxl-job-admin)与执行器(xxl-job-executor)详解_第7张图片
这里需要选择你需要执行任务的执行器,然后配置好定时任务触发的时间规则
运行模式选择bean,jobHandler配置代码中注解XxlJob内配置的名称即可,高级配置中涉及的是分布式一些相关规则
配置完成后,点击操作
XXL-JOB在docker部署调度中心(xxl-job-admin)与执行器(xxl-job-executor)详解_第8张图片
执行一次即运行一次,相当于单元测试
启动:开始按照配置的定时时间规则进行定时任务调度,这样就完成了任务相关的配置
我这里之前配置的是一秒执行一次,日志中都是执行成功的
XXL-JOB在docker部署调度中心(xxl-job-admin)与执行器(xxl-job-executor)详解_第9张图片
定时任务相关代码如图所示:
XXL-JOB在docker部署调度中心(xxl-job-admin)与执行器(xxl-job-executor)详解_第10张图片
打印了123,然后去服务器的控制台查看,都是之前的输出123
XXL-JOB在docker部署调度中心(xxl-job-admin)与执行器(xxl-job-executor)详解_第11张图片
到这里,执行器的部署和配置就都完成啦
------------------------------------执行器部署结束分割线---------------------------------------

最近阿里出了一个任务调度管理平台(公测)兼容了XXL-JOB,目前集成到了项目中也还不错

你可能感兴趣的:(springboot,xxl-job,docker,spring,boot,java)