O verniz pode funcionar como um balanceador de carga. Você deve tentar Varnish -> AppServers
.
Basta definir cada servidor de aplicativos como um back-end em um diretor na configuração do Varnish.
Você pode até mesmo adicionar testes para verificar a disponibilidade do back-end, para tentar alternar para outro servidor quando um falhar durante um processo de solicitação, etc.
Onde a sua instância do Varnish está hospedada? ASW também? Você poderia tentar o diretor de hash Varnish e hospedar o Varnish nos mesmos servidores que os aplicativos. Cada instância processará as solicitações que devem manipular e encaminhará outras para o back-end correto. Cada URL única só será armazenada em cache em um servidor (disponível) e sua memória cache será multiplicada pelo número de instâncias de Varnish, enquanto as falhas de cache serão limitadas.