A gw-en egy haproxy frontendnek, aztán mögötte varnish meg "normál" webszerver(ek) url alapon szortírozva? Faék egyszerű, és elég jól teljesít. Én egyébként elgondolkodnék azon, hogy az alkalmazásszerveren a webes kiszolgálást végző cucc ne a default 80-as porton menjen, hanem mondjuk 8080-on, és oda csak a többi appszerverről fogadjon el kéréseket, a 80-as portra meg ráaggatni egy-egy haproxy-t, backend pool-ként meg felvenni az összes appszerver 8080-as portját mindenütt. Innentől kezdve csak azt kell megoldani, hogy a fürt "közös" ip-címe mindig egy adott gépen figyeljen, az meg megint nem nagy kunszt :-P