Isenção de responsabilidade: Sem ofensas, mas essa é uma péssima idéia. Eu não recomendo que alguém faça isso na vida real.
Mas se você der um laboratório para um cara entediado de TI, coisas engraçadas acontecerão!
Para esta experiência, usei um servidor DNS da Microsoft em execução no Server 2012 R2. Devido às complicações de hospedar uma zona DNS no Active Directory, criei uma nova zona primária denominada testing.com que não é integrada ao AD.
Usando este script:
$Count = 1
for ($x = 1; $x -lt 256; $x++)
{
for ($y = 1; $y -lt 256; $y++)
{
for ($z = 1; $z -lt 256; $z++)
{
Write-Host "1.$x.$y.$z`t( $Count )"
$Count++
dnscmd . /RecordAdd testing.com testing A 1.$x.$y.$z
}
}
}
Comecei a criar, sem erro, 65025 registros de host para o nome testing.testing.com.
, com literalmente todos os endereços IPv4 de 1.1.1.1 a 1.1.255.255.
Então, eu queria ter certeza de que conseguiria quebrar o número total de 65536 (2 ^ 16 bits) de registros A sem erro, e poderia, então suponho que provavelmente poderia ter ido até 16581375 (1.1.1.1 a 1.255 .255.255,) mas eu não queria sentar aqui e assistir esse script ser executado a noite toda.
Portanto, acho seguro dizer que não há limite prático para o número de registros A que você pode adicionar a uma zona com o mesmo nome com IPs diferentes no servidor.
Mas será que realmente funciona da perspectiva de um cliente?
Aqui está o que eu recebo do meu cliente, conforme visualizado pelo Wireshark:
(Abra a imagem em uma nova guia do navegador para obter o tamanho completo.)
Como você pode ver, quando eu uso o nslookup ou o ping do meu cliente, ele emite automaticamente duas consultas - uma UDP e uma TCP. Como você já sabe, o máximo que posso obter em um datagrama UDP é de 512 bytes; portanto, quando esse limite é excedido (como 20 a 30 endereços IP), é preciso usar o TCP. Mas mesmo com o TCP, recebo apenas um subconjunto muito pequeno de registros A para testing.testing.com. 1000 registros foram retornados por consulta TCP. A lista de registros A gira 1 corretamente com cada consulta sucessiva, exatamente como você espera que o DNS de rodízio funcione. Levaria milhões de consultas para arredondar o robin em todas elas.
Não vejo como isso o ajudará a tornar sua rede de mídia social massivamente escalável e resiliente, mas há sua resposta.
Edit: No seu comentário de acompanhamento, você pergunta por que eu acho que isso geralmente é uma má ideia.
Digamos que eu seja um usuário comum da Internet e gostaria de me conectar ao seu serviço. Digito www.bozho.biz no meu navegador. O cliente DNS no meu computador recebe 1000 registros. Bem, azar, os 30 primeiros registros da lista não respondem, porque a lista de registros A não é atualizada, ou talvez haja uma interrupção em grande escala que afeta uma parte da Internet. Digamos que meu navegador tenha um tempo limite de 5 segundos por IP antes de seguir em frente e tentar o próximo. Então agora eu estou sentado aqui, olhando para uma ampulheta girando por 2 minutos e meio, esperando o seu site carregar. Ninguém tem tempo para isso. E suponho que meu navegador da Web ou qualquer aplicativo que eu use para acessar seu serviço tente até mais do que os primeiros 4 ou 5 endereços IP. Provavelmente não.
Se você usou a eliminação automática e permite atualizações não validadas ou anônimas na zona DNS, na esperança de manter a lista de registros A atualizada ... imagine como isso seria inseguro! Mesmo se você projetou algum sistema em que os clientes precisavam de um certificado TLS de cliente que eles obtiveram anteriormente para atualizar a zona, um cliente comprometido em qualquer lugar do planeta iniciará uma botnet e destruirá seu serviço. O DNS tradicional é precariamente inseguro, sem o fornecimento de multidões.
Uso e desperdício enormes de largura de banda. Se toda consulta DNS exigir 32 kilobytes ou mais de largura de banda, isso não será muito bom.
O rodízio de DNS não substitui o balanceamento de carga adequado. Ele não oferece nenhuma maneira de se recuperar de um nó inoperante ou se tornar indisponível no meio das coisas. Você instruirá seus usuários a executar um ipconfig / flushdns se o nó ao qual eles foram conectados cair? Esse tipo de problema já foi resolvido por coisas como GSLB e Anycast.
Etc.