Os balanceadores de carga são de todas as formas, tamanhos e custos. Se você quiser fazer isso de graça, Linux-HA funciona muito bem, embora tenha um pouco de aprendizado curva. Você pode até fazer isso com o iptables, ou como uma entrada Round-Robin DNS , embora esses dois últimos não tenham monitoramento ou facilidade para lidar com máquinas com defeito.
Existem também muitos aplicativos e softwares que fornecem essa funcionalidade.
A idéia geral é que há uma única máquina (ou appliance) que responde às solicitações e, em seguida, encaminha as solicitações para dois ou mais servidores atrás dela (às vezes no NAT, às vezes não), embora o balanceador de carga sempre mascarar o IP público. Round Robin DNS está fora disso, pois você configurou um registro DNS igualmente balanceado para o nome de domínio, e o servidor DNS fornecerá IP 1, depois IP 2, 1, 2, 1, 2, etc. neste caso, é não máquina masquerading o IP público .. e, claro, não há facilidade para detectar e atenuar máquinas indisponíveis.
Sistemas e softwares mais avançados acompanham o número de conexões, a integridade dos servidores e podem fazer coisas como garantir que as conexões de https (ou sessão) sempre vão para o mesmo servidor, para evitar problemas de conectividade. Essas máquinas farão com que um servidor não seja sobrecarregado e, se ficar indisponível, ele o removerá do pool de endereços para o qual encaminhará solicitações.
Espero que isso lhe dê algo para começar.