Uma configuração típica funcionará ao contrário do que você propõe - primeiro implementando um balanceador de carga front-end (por exemplo, HAProxy, Nginx, até mesmo Varnish, etc. - ou baseado em hardware) e somente mais tarde usando DNS.
As solicitações de entrada alcançarão o balanceador de carga, que normalmente poderá executar várias funções, incluindo:
- Acompanhe o status (isto é, a integridade) dos servidores de back-end
- Decida, de forma inteligente, qual escolher (por exemplo, carga mais baixa, round-robin, tipo de solicitação específico, etc.)
- Tente outro servidor se o primeiro servidor não responder adequadamente
- Proteja seus servidores de back-end
Existem algumas vantagens nesta abordagem:
- Você mantém o controle sobre todos os aspectos da configuração
- Você pode adicionar e remover facilmente servidores de backend
- O balanceamento de carga é feito "de maneira inteligente"
O problema, no entanto, é que todo o tráfego precisa fluir pelo balanceador de carga único. Em um nível que faz com que seja um ponto significativo de falha (mas você pode fazer failover para reduzir o impacto). Mais significativamente, em algum momento, o único nó não será capaz de lidar com o tráfego que precisa fluir através dele. O último é o problema resolvido com o DNS - de modo que as solicitações retornam IPs diferentes, correspondendo a diferentes balanceadores de carga.