负载均衡的几种算法原理及代码实现

复制public class RoundRobin { staticInteger position = 0; publicstatic List<String> initServerList() { List<String> servers = new ArrayList<>(); servers.add("192.168.10.00"); servers.add("192.168.10.01"); servers.add("192.168.10.02"); servers.add("192.168.10.03"); servers.add("192.168.10.04"); servers.add("192.168.10.05"); servers.add("192.168.10.06"); return servers; } publicstatic String getServerUrl() { //新建立一个List赋值,负载避免服务器上下线导致的云服务器均衡及代并发问题 List<String> serverList = new ArrayList<>(); serverList.addAll(initServerList()); String server = null; synchronized (position){ if(position >= serverList.size()) { position = 0; } server = serverList.get(position); position ++; } return server; } publicstatic void main(String[] args) { while (true){ System.out.println(getServerUrl()); } } } 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.亿华云