Domain IP Lookup

Um hostname, vários registros A

1ª resposta

93.184.216.34

2ª resposta

93.184.216.35

3ª resposta

93.184.216.36

O resolvedor devolve todos os registros, geralmente em ordem rotativa

Infraestrutura e operações

DNS round-robin explicado: dividindo o tráfego entre IPs

4 min de leitura

O DNS round-robin é uma técnica simples em que o DNS publica vários registros de endereço para um nome e pode alternar a ordem deles entre as respostas. Clientes e resolvedores passam a ver vários destinos possíveis em vez de um único IP fixo. Ele costuma ser usado para distribuir conexões entre servidores ou oferecer uma redundância básica. No entanto, o DNS não observa se cada servidor está saudável para cada cliente individual, e o cache faz com que os resolvedores possam continuar usando uma resposta durante o seu TTL. O round-robin é, portanto, um método leve de distribuição, e não um sistema completo de balanceamento de carga que considera a saúde dos servidores e garante failover.

O que os clientes podem ver

Uma resposta DNS pode conter mais de um registro A ou AAAA. Um resolvedor recursivo pode guardar esse conjunto em cache, e o sistema operacional ou a aplicação decide como tentar os endereços retornados. Alguns sistemas usam o primeiro endereço, outros reordenam ou tentam várias conexões, e as pilhas de navegadores modernos podem disputar entre famílias de endereço segundo suas próprias estratégias de conexão. A ordem da resposta DNS, sozinha, não prova qual servidor acabou atendendo a requisição de um usuário. Repetir uma consulta pode mostrar ordens ou subconjuntos diferentes, mas esse comportamento depende do provedor autoritativo e do resolvedor.

PropriedadeDNS round-robin
EntradasRegistros A ou AAAA com vários endereços
Percepção de saúdeNão é inerente à rotação comum do DNS
Efeito do cacheConjuntos de respostas antigos podem persistir até o TTL expirar
Melhor aplicaçãoDistribuição simples em que os endpoints continuam utilizáveis
LimitaçãoNão é uma decisão por requisição nem uma garantia de failover instantâneo

Uma consequência importante é que um servidor com falha pode continuar nas respostas em cache até o TTL correspondente expirar ou o resolvedor atualizar seus dados. Reduzir o TTL antes de uma migração planejada pode encurtar a janela de cache esperada, mas não apaga uma resposta já guardada com o TTL antigo. O cliente também pode ter o próprio cache ou reutilizar conexões. Por esses motivos, o DNS round-robin não deve ser a única proteção contra a falha de um servidor quando o serviço exige um failover rápido e confiável, baseado em saúde.

Como ele se compara a um balanceador de carga

Um balanceador de carga dedicado pode tomar decisões na camada de conexão ou de aplicação, executar health checks e enviar o tráfego apenas aos endpoints que atendem aos critérios configurados. Um provedor de DNS também pode oferecer health checks e respostas dinâmicas, mas esses recursos são específicos do provedor e ainda interagem com os caches recursivos. Um conjunto básico de registros round-robin apenas oferece opções; não há um ciclo de retroalimentação inerente. Esses projetos podem ser combinados, como no caso de o DNS direcionar os usuários a um balanceador de carga regional enquanto esse balanceador seleciona um backend saudável. Escolha a camada capaz de observar o modo de falha que você precisa tratar.

  • Mantenha todos os endereços de um conjunto round-robin aptos a servir o nome de host.
  • Monitore cada endpoint de forma independente; a rotação do DNS não é um health check.
  • Entenda o TTL e o cache dos clientes antes de planejar uma virada ou um failover.
  • Use um balanceador de carga que considere a saúde quando for preciso excluir endpoints rapidamente.
  • Compare respostas repetidas de resolvedores identificados e registre o horário de cada consulta.

Como solucionar problemas com várias respostas

Se um domínio resolve para vários endereços IP, primeiro descubra se isso é intencional. Verifique a zona autoritativa ou o painel do provedor para ver o conjunto completo de registros e, em seguida, compare as respostas recursivas. Determine se os endereços pertencem à infraestrutura esperada de hospedagem, CDN ou balanceador de carga usando a documentação do provedor, em vez de confiar apenas na consulta reversa. Teste cada endpoint por meio do nome de host pretendido e da configuração TLS, se você o administra. Uma requisição direta a um IP pode produzir um resultado diferente, porque a hospedagem virtual depende do nome de host; portanto, não trate um teste com o IP puro como um substituto perfeito do tráfego normal.

O DNS round-robin é fácil de configurar, mas essa simplicidade operacional pode esconder suposições importantes sobre a duração do cache e a saúde dos endpoints. Para um contexto mais amplo, veja por que domínios têm vários IPs e como as CDNs usam o DNS. Uma consulta de IP de domínio pode mostrar o conjunto atual de respostas públicas; combine essa observação com monitoramento e verificações específicas do serviço para entender se a distribuição está funcionando como pretendido.

Mantenha o conjunto consistente em todos os destinos

Antes de adicionar vários endereços a um conjunto round-robin, confirme que cada endpoint consegue servir com segurança o mesmo nome de host e a mesma versão da aplicação. Verifique a cobertura do certificado, a saúde, a consistência dos dados e quaisquer suposições sobre o estado de sessão. Se os usuários podem cair em qualquer endereço, um servidor com conteúdo incompleto ou com uma configuração de login diferente pode gerar falhas intermitentes que parecem aleatórias. Monitore cada endereço pelo cabeçalho host e pelo nome TLS corretos e compare os erros da aplicação, em vez de depender apenas do ping. Ao remover um destino com problema, considere as respostas DNS em cache e as conexões já abertas. O DNS pode parar de anunciar um endereço para novas consultas, mas não consegue encerrar instantaneamente a sessão existente nem a conexão em cache de todos os clientes.

Precisa conferir os endereços DNS públicos de um domínio? Use a ferramenta Domain IP Lookup.