private static Map<String, Integer> serviceWeightMap = new HashMap<String, Integer>();
static {
serviceWeightMap.put("192.168.1.100", 1);
serviceWeightMap.put("192.168.1.101", 1); // 权重为4
serviceWeightMap.put("192.168.1.102", 4);
serviceWeightMap.put("192.168.1.103", 1);
serviceWeightMap.put("192.168.1.104", 1); // 权重为3
serviceWeightMap.put("192.168.1.105", 3);
serviceWeightMap.put("192.168.1.106", 1); // 权重为2
serviceWeightMap.put("192.168.1.107", 2);
serviceWeightMap.put("192.168.1.108", 1);
serviceWeightMap.put("192.168.1.109", 1);
serviceWeightMap.put("192.168.1.110", 1);
}
一、轮询法(Round Robin)
对所有的服务器节点全部按顺序来,将请求按照顺序轮流地分配到各个服务器上,所以适合用于服务器硬件条件基本都相同的情况
private static Integer pos = 0;
public static String testRoundRobin() {
// 重新创建一个map,避免出现由于服务器上线和下线导致的并发问题
Map<String, Integer> serverMap = new HashMap<String, Integer>();
serverMap.putAll(serviceWeightMap);