Xxl-Job任务分配策略

xxljob共设置了10中任务分配策略,主要用于解决负载均衡,提高任务处理效率。这些都是客户端的负载均衡,无法获取到执行器的信息,因此不算是完整的负载均衡策略集合。

1.First

取执行器列表的第一个执行器进行执行。

2.Last

取执行器列表的最后一个执行器进行执行。

3.LFU

LFU是指最近最不频繁使用,LRU是指最近最少使用。这两者的区别是,LFU对于所有的执行器来说统计的时间区间是一样的,统计某一特定时间区间内的使用次数即可。但对于LRU来说,统计的是从当前时间往前移,直到每个执行器最近一次使用的时间点为止,这段时间区间越大,则说明最近更少被使用。

LFU在xxl-job的实现逻辑如下:

缓存当天每个job使用某个执行器的次数,每使用一次,次数加1,然后挑选的时候,选择次数最少的执行器进行执行。首次初始化的时候,每个执行器的执行次数进行了一次随机化,来达到分散压力的效果。

4.LRU

这个可以直接使用LinkedHashMap来实现,它能按访问进行排序。

我们也可以自己实现,弄个queue,每次从last取,取完了之后,放回first。

5.Random

随机选择一个执行器

6.RoundRobin

记录每个任务的执行次数,然后次数对执行器数量取模。

7. FailOver

先通过beat查看远程执行器是否能连通,能连通则使用,否则尝试下一个执行器。

8. Busyover

发送idleBeat,如果远程执行器有任务积压,则尝试选择下一个执行器。

9. ConsistentHash

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值