![O DNS round-robin é uma solução possível para alta disponibilidade?](https://rvso.com/image/623630/O%20DNS%20round-robin%20%C3%A9%20uma%20solu%C3%A7%C3%A3o%20poss%C3%ADvel%20para%20alta%20disponibilidade%3F.png)
Digamos que eu tenha 2 IPs para um determinado domínio (DNS round-robin).
Se um dos IPs parar de responder, os clientes tentarão se conectar ao outro IP? ou simplesmente não conseguirão estabelecer comunicação com o domínio?
Responder1
O round robin de DNS não é um bom substituto para um balanceador de carga. O servidor DNS continuará distribuindo o IP do nó que está inativo, então alguns de seus usuários acessarão seu serviço e outros não.
Quando o cliente faz a consulta DNS, o servidor DNS retornatodosdos endereços IP associados a esse nome. A mágica é feita pelo servidor DNS alternando a ordem dessa lista para cada consulta. Porém, cabe à aplicação implementar a capacidade de "percorrer" a lista até encontrar um IP que funcione. E alguns aplicativos não fazem isso.
O Windows Telnet, curiosamente, é um aplicativo inteligente o suficiente para percorrer a lista vinculada de IPs retornados. Você mesmo pode ver esse comportamento se tentar fazer telnet para google.com, por exemplo. Você notará que é preciso umlongohora de finalmente falhar. Isso ocorre porque google.com tem muitos endereços IP e o cliente telnet estava tentando todos eles.
Responder2
Usar um balanceador de carga ainda deixará um único ponto de falha. Se o seu balanceador de carga ficar off-line, seu site ficará inativo.
Ao contrário da resposta acima, a maioria dos clientes HTTP jáFAZERsuporte para tentar cada endereço IP retornado de uma consulta DNS até que um retorne com uma resposta válida. Por favor veja aqui:
http://blog.engelke.com/2011/06/07/web-resilience-with-round-robin-dns/
Parece que o autor testou os seguintes navegadores e descobriu que funcionam bem.
Chrome 11 no Windows 7
Firefox 4.0 no Windows 7
Internet Explorer 8 no Windows 7
Opera 11 no Windows 7
Safari 5 no Windows 7
Internet Explorer 7 no Windows XP (após um atraso perceptível)
Firefox 4.0 no Windows XP (após um atraso perceptível)
Navegador nativo Android no Android 2.3.3
navegador nativo do iPhone no iOS 4.3.3
Usar round robin não fará todos os recursos de um servidor de balanceamento de carga, como ser capaz de monitorar os tempos de resposta de ambos os servidores e rotear mais tráfego para um, se o outro não estiver respondendo tão rápido quanto deveria). Em termos de resiliência, eu diria que o Round Robin DNS é provavelmente uma solução melhor, pois não há mais um único ponto de falha.
Responder3
Embora o DNS round robin normalmente não tenha feedback sobre o status dos servidores para os quais fornece endereços, pode ser útil se você tiver algum tipo de balanceador de carga (incluindo truques baseados em roteador) para cada um desses endereços.
Existem truques para atualizar o DNS quando as coisas falham; se isso acontecer, o DNS round-robin com TTLs adequadamente curtos pode ser um pseudo-balanceador de carga.