O que você está procurando fazer não é necessariamente simples de implementar e requer algum monitoramento / manutenção.
Não sei de nada que não seja um balanceador como uma solução de hardware. Você provavelmente precisará examinar o clustering, o que significa executar uma forma de fence e heartbeat para que os servidores monitorem uns aos outros.
Se possível, você provavelmente desejaria usar o armazenamento compartilhado com front-ends do servidor da Web.
Dito isso, se você estiver usando o Linux, provavelmente desejará usar o google high availability Linux, que deve apontar recursos para a configuração de software heartbeat que monitora serviços nos servidores e, se um deles for desativado, exibirá o outro servidor para assumir. Quando o outro servidor voltar, você poderá fazer a transição de solicitações de serviço de volta para o servidor principal.
A razão pela qual eu disse isso não é simples porque você pode ter uma situação de cérebro partido. Certifique-se de que você google e planejar adequadamente.
Você também vai querer que o hardware seja configurado para conversar entre si em uma conexão dedicada de alta velocidade entre os servidores e você precisa manter um compartilhamento de armazenamento compartilhado de algum tipo para não precisar sincronizar arquivos.
Portanto, se você não quiser fazer a rota do balanceador, precisará dedicar algum tempo e esforço para executar um cluster. Eu não sei muito sobre clustering do Windows, mas se é isso que você está executando, você terá algumas opções embutidas nas versões mais avançadas do Windows para serviços de clustering; Eu acho que é nas edições Enterprise e Data Center. Você terá que navegar pelo site de drones de marketing da Microsoft para obter mais informações sobre isso.
Boa sorte!