Estou tentando entender como sites massivos como o Facebook ou a Wikipedia funcionam, por minha curiosidade intelectual. Eu li sobre várias técnicas para criar sites escaláveis, mas ainda estou intrigado com um detalhe específico.
A parte que me confunde é que, em última análise, o DNS mapeará todo o domínio para um único endereço IP ou para um punhado de endereços IP no caso de DNS de rodízio.
Por exemplo, o wikipedia.org possui apenas um registro DNS tipo A. Portanto, pessoas de todo o mundo que visitam a Wikipedia precisam enviar uma solicitação para o único endereço IP especificado no DNS.
Qual é o hardware que escuta no endereço IP de um site massivo e como ele pode lidar com toda a carga proveniente das solicitações de usuários em todo o mundo?
Edit 1: Obrigado por todas as respostas! Anycast parece ser uma resposta viável ... Alguém sabe como verificar se um endereço IP específico é roteado por anycast, para que eu possa verificar se esse é realmente o truque usado na prática por sites grandes?
Edit 2: Após mais leituras sobre o tópico, parece que o anycast não é normalmente usado para conteúdo dinâmico da web. O Anycast é geralmente usado para UDP (por exemplo, pesquisas de DNS) ou, às vezes, para conteúdo estático.
Uma coisa interessante a ser observada é que o Facebook usa profile.ak.fbcdn.net para hospedar conteúdo estático, como folhas de estilo e bibliotecas javascript. Cada vez que sigo esse nome, recebo uma resposta de um endereço IP diferente. No entanto, não sei dizer se isso é uma transmissão em ação ou uma técnica completamente diferente.
Voltando à minha pergunta original: até onde eu sei, mesmo um site grande terá uma única peça dispendiosa de hardware de balanceamento de carga que escuta vários endereços IP públicos.