O DNS round-robin é uma solução possível para alta disponibilidade?

8

Digamos que eu tenha 2 IPs para um determinado domínio (DNS round-robin).
Se um dos IPs não responder, os clientes tentarão se conectar ao outro IP? ou eles simplesmente falharão em estabelecer comunicação com o domínio?

    
por GetFree 27.12.2013 / 22:26

3 respostas

13

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, portanto, alguns dos seus usuários chegarão ao seu serviço e alguns deles não o farão.

Quando o cliente faz a consulta DNS, o servidor DNS retorna todos dos endereços IP associados a esse nome. A mágica é feita pelo servidor DNS girando a ordem daquela lista para cada consulta. No entanto, cabe ao aplicativo implementar a capacidade de "percorrer" a lista até encontrar um IP que funcione. E a maioria das aplicações não faz isso.

O Windows Telnet, por incrível que pareça, é um desses aplicativos que é inteligente o suficiente para percorrer a lista encadeada de IPs retornados. Você pode ver esse comportamento sozinho se tentar fazer o telnet para google.com, por exemplo. Você notará que leva um tempo longo para finalmente falhar. Isso porque o google.com tem muitos endereços IP e o cliente de telnet estava tentando todos.

    
por 27.12.2013 / 22:28
12

O uso de um balanceador de carga ainda deixará um único ponto de falha. Se o seu balanceador de carga ficar off-line, seu site ficará inativo.

Conterary to the above answer, A maioria dos clientes HTTP já DO suportam a tentativa de cada endereço IP retornado de uma consulta DNS até que um retorne com uma resposta válida. Por favor, veja aqui:

link

Parece que o autor testou os seguintes navegadores e os encontrou funcionando 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 atraso perceptível)
Firefox 4.0 no Windows XP (após atraso perceptível)
Navegador nativo Android no Android 2.3.3
Navegador nativo do iPhone no iOS 4.3.3

O uso do round robin não fará todos os recursos de um servidor de balanceamento de carga, como 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. Para a resiliência, eu diria que o Round Robin DNS é provavelmente uma solução melhor, já que não há mais um único ponto de falha.

    
por 26.09.2014 / 18:22
2

Embora o DNS round robin normalmente não tenha feedback sobre o status dos servidores para os quais está fornecendo 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. / p>

Existem truques para atualizar o DNS quando as coisas falham; se isso acontecer, o DNS round-robin com TTLs adequadamente curtos pode ser um balanceador de pseudo-carga.

    
por 28.12.2013 / 17:02