xxl-job定时调度集群情况下区分环境来建立执行器

 

我们知道徐雪力老师的xxl-job定时调度任务是可以解决集群情况下的调度重复问题的...

内置了轮询,单一,随机,hash等算法来实现单个机器执行定时 的需求.

 

但是我们项目因为是多环境的....而每一个执行器都有他自己的执行器Appname,所以如果一个项目中的定时任务执行器名称就设置一个的话,回到多环境情况下使用的是同一个执行器名称.也就会造成注册的ip地址是多个环境的机器的ip.

 

此时再进行轮询就会造成该定时任务轮询到了不同机器上面.

 

为了解决这个问题有两种方案:

方案一:搭建多套环境的xxl-job-admin.分别管理开发,测试,冻结,生产环境的定时任务.

优点:解决多环境问题下单台调度中心调度到不同环境下的定时任务.

缺点:维护比较复杂,效率低下:

 

方案二:搭建单个xxl-job-admin调度中心,然后项目中根据多套环境的配置文件来区分执行器

          每个环境中配置执行器的配置信息时设置不同的执行器名称和ip地址.

如下:xxl-job定时调度集群情况下区分环境来建立执行器_第1张图片

xxl-job定时调度集群情况下区分环境来建立执行器_第2张图片

优点:可以解决多环境问题.根据执行期名称来区分执行器.一套调度中心管理多套环境.

缺点:多环境在一起容易误操作生产.(可以为不同环境建立不同子账号解决该问题)

 

下面是定时调度中心的执行器实现效果

xxl-job定时调度集群情况下区分环境来建立执行器_第3张图片

 

xxl-job定时调度集群情况下区分环境来建立执行器_第4张图片

 

 

 

 

 

你可能感兴趣的:(定时调度)