注:跟上文比较紧密
分片策略
什么是分片策略
- 作业名的哈希值奇偶数决定IP升降序算法的分片策略
- 当有三台服务器时,分片总数为2时
- 作业名称hash值为奇数时,1=[0],2=[1],3=[] (从前往后分配)
- 作业名称hash值为偶数时,3=[0],2=[1],1=[] (从后往前分配)
自定义分片策略
轮询策略:cn.flowboot.aotuconfig.sharding.PollingShardingStrategy
package cn.flowboot.aotuconfig.sharding;
import com.dangdang.ddframe.job.lite.api.strategy.JobInstance;
import com.dangdang.ddframe.job.lite.api.strategy.JobShardingStrategy;
import java.util.*;
/**
* <h1>自定义策略:轮询</h1>
*
* @version 1.0
* @author: Vincent Vic
* @since: 2022/01/21
*/
public class PollingShardingStrategy implements JobShardingStrategy {
@Override
public Map<JobInstance, List<Integer>> sharding(List<JobInstance> jobInstances, String jobName, int shardingTotalCount) {
Map<JobInstance, List<Integer>> jobInstanceListMap = new HashMap<>();
ArrayDeque<Integer> queue =