目录
目录
一、负载均衡随机算法
1.普通随机算法:
假设有十台服务器
public class ServersIp {
public static final List<String> list = Arrays.asList(
"192.168.000.1",
"192.168.000.2",
"192.168.000.3",
"192.168.000.4",
"192.168.000.5",
"192.168.000.6",
"192.168.000.7",
"192.168.000.8",
"192.168.000.9",
"192.168.000.10"
);
}
模拟客户端随机获取ip
public class Random {
public static String getServerIp(){
java.util.Random random = new java.util.Random();
int nextInt = random.nextInt(ServersIp.list.size());
return ServersIp.list.get(nextInt);
}
public static void main(String[] args) {
for (int i =0;i<10;i++){
System.out.println(getServerIp());
}
}
}
缺点:服务器性能不同,配置高的服务器无法发挥性能
解决方法:增加权重。
优化后代码如下
public static final Map<String,Integer> weight_list = new LinkedHashMap<String,Integer>();
static {
// 权重55
weight_list.put("192.168.000.1",1);
weight_list.p