xxl-job高可用部署

                                          xxl-job高可用部署

请尊重作者劳动成果,转载请标明原文链接:

https://www.cnblogs.com/wanghongsen/p/12504130.html

 

一 高可用部署

        xxl-job作为分布式任务调度中心,怎么实现高可用呢,如下图所示 当我们部署一套 XXL-JOB 的时,调度中心 可用分布式部署,

 首先我们的调度中心最好部署两台,调度中心会指向同一个 MySQL 实例,这样调度中心一定程度上可以保证它的 HA 。

二 具体流程

    1 对于页面的请求操作是根据 nginx进行 负载均衡转发到相应调度中心机器上,它每次调度的时候会通过一个远程任务代理的请求,触发到远程的执行器,

  2 在部署远程执行器的时候,只要把每一个机器指向同一个 APP name,这样每个执行器会以心跳注册的方式向调度中心进行注册,它也是 30 秒注册一次,三次心跳。如果是连续三次心跳中断的话,会把当前的执行器摘除掉。这样调度中心发现三次心跳之内都在存活这个执行器的情况下,会把它视为一个存活的执行器。

  3 在下次任务触发的时候,调度中心根据提前配置好的路由策略 拿到要调的机器地址,通过RPC的方式去调任务相应的 执行器,

  4 然后由该执行器 开始执行任务。

调度中心和执行器之间的通信也是全异步化的,从任务的触发,到执行,到结果回调,如果可以入队列的话,都通过队列的方式进行。

原文地址:https://www.cnblogs.com/wanghongsen/p/12504130.html