Temos um aplicativo SaaS que precisamos estar altamente disponível. Já temos um cluster de failover Hyper-V caro e bem mantido, mas hoje o datacenter em que hospedamos esse cluster teve uma queda de energia de cinco horas que nos deixou completamente offline. Então agora estamos nos perguntando se uma abordagem melhor pode ser usar servidores em dois datacenters separados. Supondo que tenhamos a replicação de arquivos de back-end e a replicação de dados funcionando entre esses dois sites, estamos pensando em como lidar com o roteamento de front-end - não é de admirar como abordamos o problema, sempre terminamos com o balanceador de carga sendo um único ponto de falha.
Portanto, a questão é ... como podemos configurar o balanceamento de carga entre dois sites de hospedagem, para que o balanceador de carga não seja o único ponto de falha? Existe uma maneira de usar dois balanceadores de carga separados, um em cada site? Deveríamos considerar o DNS round-robin?
Você precisa balancear a carga dos balanceadores de carga.
Você pode fazer isso com round-robin de DNS, mas essa abordagem tem muitos problemas. Você não pode controlar os clientes que armazenam em cache as entradas por mais tempo do que gostaria e não pode forçar o tráfego a ir para um determinado local.
Você também pode fazer isso com o Global Server Load Balancing (GSLB). Essa é uma maneira mais avançada de aproveitar o DNS para dar visibilidade a vários datacenters da Internet. Em resumo, você configura algum mecanismo para dividir seu tráfego em fatias e usa o DNS para escolher uma fatia. Usamos um hash do resolvedor DNS configurado para fazer pesquisas para o cliente. Outras pessoas usam a geografia para direcionar para o data center "mais próximo". Você precisará adicionar algum mecanismo para remover rapidamente um IP do GSLB, caso algum ponto único de falha desse datacenter ou cluster seja interrompido.
http://www.eukhost.com/web-hosting/kb/global-server-load-balancing/
Finalmente, algumas pessoas realmente avançadas enfrentam esse problema com o Anycast DNS. Isso novamente tenta alavancar a abordagem "mais próxima" do data center. A transmissão do seu serviço significa que você precisará eliminar qualquer "integridade do estado". Isso pode ser difícil.
fonte
Anos depois ... mas para quem ainda procura, essas parecem ser as soluções mais acessíveis / simples para failover de DNS:
fonte