聊聊分布式定时任务elastic-job作业分片策略
【线上直播】11月21日晚8点贝壳技能总监侯圣文《数据安详之数据库安详黄金法例》
在现实开拓种常会碰着必要按时跑批,按时天天执行一次对账操纵等场景。凡是回收按时使命如spring按时框架、ScheduledExecutorService等。但这些都只适于单机,当在多节的环境下会呈现按时使命一再执行题目,这时辰必要回收漫衍式按时使命来办理。漫衍式按时使命不只办理了以上困难,还提供了分片处理赏罚进步处理赏罚服从、漫衍式调治和谐、弹性扩容缩容、失效转移等利益。 一、常见漫衍式按时使命有哪些? 当前有许多开源的漫衍式按时使命,以下列出几种常用的如:
个中应用得较多的为elastic-job(E-job)与xxl-job (X-job),关于两者的技能选型这里不做更多详细的接头,下面提供两者的综合比拟用于参考,可团结现实营业技能场景举办选型 二、elastic-job功课分片计策有哪些? 团结现实场景,选择吻合的功课分片计策,举办分片处理赏罚可以进步使命的执行服从。以下是elastic-job提供的分片计策
1. AverageAllocationJobShardingStrategy分片计策 com.dangdang.ddframe.job.lite.api.strategy.impl.AverageAllocationJobShardingStrategy 计策声名: 基于均匀分派算法的分片计策,也是默认的分片计策,功课数能被处事器数整除环境下匀称分派、 假如分片不能整除,则不能整除的多余分片将依次追加到序号小(ip地点靠前)的处事器。 弱点:均匀分片计策,当分片数小于功课处事器数时,功课会被永久分派在ip地点靠前的处事器,而导致IP地点靠后的处事器空闲。 2. OdevitySortByNameJobShardingStrategy分片计策 com.dangdang.ddframe.job.lite.api.strategy.impl.OdevitySortByNameJobShardingStrategy 计策声名: 该计策焦点头脑为按照功课名的哈希值奇偶数抉择回收IP升/降序算法实现分片,功课名的哈希值为奇数则IP升序,功课名的哈希值为偶数则IP降序,通过这种方法用于将差异的功课分片负载平衡至差异的处事器。 如功课名哈希值为偶数,则回收IP降序算法实现分片,这样就停止了回收均匀分派算法时IP地点靠后的处事器空闲的题目。 其内部回收了均匀算法。 3. RotateServerByNameJobShardingStrategy分片计策 com.dangdang.ddframe.job.lite.api.strategy.impl.RotateServerByNameJobShardingStrategy 计策声名: 按照功课名的哈希值对处事器列表举办轮转的分片计策,其内部也是回收均匀分片算。, 4. 自界说分片计策 可通过实现JobShardingStrategy接口并实现sharding要领,可按照需求定制化本身的分片计策,以下是Spring中切换自界说分派计策的设置方法。 三、总结 elastic-job 提供的三种分片计策,其总体上都照旧行使的照旧均匀分片算法,不外是将实例举办了差异的排序操纵。支持自界说分片计策可越发自身需求定制分片计策。在现实项目应用中多为回收均匀分片计策。
(编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |