简述XXL-JOB路由模式

版本v2.3.0,其他版本可能略有不同。

准备工作

我在本地起了一个调度中心(xxl-job-admin ——> 8080)

以及三个个执行器(执行器1:9997,执行器2:9998,执行器3:9999),这两个执行器的appName都指向xxl-job-executor-sample

XXL-JOB的路由模式分为以下十个:

  • FIRST(第一个):固定选择第一个机器;

顾名思义,这里选择第一个,那么执行器在执行任务时永远只会用第一个地址执行

  • LAST(最后一个):固定选择最后一个机器;

同上,这里只会使用9999执行

  • ROUND(轮询):通俗点说就是一个集合为5的数组,执行15次,当他执行到下角标为4的时候下次执行的下角标会重回0;

会按97->98->99->97这样执行

  • RANDOM(随机):随机选择在线的机器;

同上,只不过是随机选取地址

  • CONSISTENT_HASH(一致性HASH):每个任务按照Hash算法固定选择某一台机器,且所有任务均匀散列在不同机器上。

哈希环

  • LEAST_FREQUENTLY_USED(最不经常使用):使用频率最低的机器优先被选举;

顾名思义,获取使用频率最低的那个地址 (hashMap计数排序)

  • LEAST_RECENTLY_USED(最近最久未使用):最久未使用的机器优先被选举;

​​​​​​​顾名思义,获取最久没使用的那个地址(算法实现:每次访问一个数组中的某一个地址后将该实例放到下角标为0的桶里,那么该数组里的最后一个实例就是最久未被使用的地址(通过LinkedHashMap实现))

  • FAILOVER(故障转移):按照顺序依次进行心跳检测,第一个心跳检测成功的机器选定为目标执行器并发起调度;(还没看,后面补下)
  • BUSYOVER(忙碌转移):按照顺序依次进行空闲检测,第一个空闲检测成功的机器选定为目标执行器并发起调度;(还没看,后面补下)
  • SHARDING_BROADCAST(分片广播):广播触发对应集群中所有机器执行一次任务,同时系统自动传递分片参数;可根据分片参数开发分片任务;​​​​​​​

​​​​​​​

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值