package sk.httpclient.app;

import com.netflix.loadbalancer.DynamicServerListLoadBalancer;
import com.netflix.loadbalancer.Server;

import java.util.List;

public class MyLoadBalancer extends DynamicServerListLoadBalancer {

    private int c = 0;

    @Override

    public void addServers(List<Server> newServers) {
        super.addServers(newServers);
    }

    @Override
    public Server chooseServer(Object key) {
        //c = ++c % upServerList.size();
        //return upServerList.get(c);
        return super.chooseServer(key);
    }

    @Override
    public void markServerDown(Server server) {
    }

    @Override
    public List<Server> getServerList(boolean availableOnly) {
        return null;
    }

    @Override
    public List<Server> getReachableServers() {
        return null;
    }

    @Override
    public List<Server> getAllServers() {
        return null;
    }
}

@@ -53,33 +53,17 @@
 alancer.
-DynamicServerList
+I
 LoadBala
@@ -165,33 +165,20 @@
 cer 
-extends DynamicServerList
+implements I
 Load
@@ -188,17 +188,16 @@
 ancer %7B%0A
-%0A
     priv
@@ -289,16 +289,18 @@
         
+//
 super.ad
@@ -336,163 +336,205 @@
     
-@Override%0A    public Server chooseServer(Object key) %7B%0A        //c = ++c %25 upServerList.size();%0A        //return upServerList.get(c);%0A        return super.
+private final Server%5B%5D a = new Server%5B%5D%7B%0A        new Server(%22localhost%22, 8887),%0A        new Server(%22localhost%22, 8888),%0A        new Server(%22localhost%22, 8889)%0A    %7D;%0A%0A    @Override%0A    public Server 
 choo
@@ -546,12 +546,62 @@
 ver(
-key)
+Object key) %7B%0A        c = ++c %25 3;%0A        return a%5Bc%5D
 ;%0A  

Make load balancer as fast as possible. No config is used, servers are defined in code.