先将服务器放进数组或者列表当中,通过JDK的随机算法,获取一个在数组有效范围内的下标,根据这个随机下标访问对应服务器。由概率统计理论可以得知,随着客户端调用服务器的次数增多,其实际效果越来越接近于平均分配请求到服务器列表中的每一台服务器。
public class ServerIps {
public static final List<String> LIST = Arrays.asList(
"192.168.0.1",
"192.168.0.2",
"192.168.0.3",
"192.168.0.4",
"192.168.0.5",
"192.168.0.6",
"192.168.0.7",
"192.168.0.8",
"192.168.0.9",
"192.168.0.10"
);
}
/**
* <p>
* 负载均衡随机算法
* </p>
*
* @author lisonglin
* @version 1.0
* @since 2022/5/25 13:55
*/
public class Random {
public static String getServer(){
java.util.Random random = new java.util.Random();
int rad = random.nextInt(ServerIps.LIST.size());
return ServerIps.LIST.get(rad);
}
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println(getServer());
}
}
}