Como grandes sites, como o google.com, têm muitos servidores da Web em execução em um ip público

1

Assim, por exemplo, o dns de google.com é um ip público ao qual o usuário se conecta.

O Google tem uma enorme infraestrutura de servidores da web.

Como todos eles ainda podem ser executados no mesmo ip, então o URL ainda é google.com

    
por Simon James 05.07.2015 / 20:42

3 respostas

1

Não tenho certeza de que o Google use, mas o equilíbrio de carga seria o meu palpite. Não roubar mais ninguém, então aqui está um link para um tópico. Explica isso melhor, então eu posso.

Balanceamento de carga em vários servidores, assim você vê 1 endereço IP, mas a conexão é roteada para um dos muitos servidores (com tolerância a falhas incluída).

Se você não tiver seus servidores da Web usando o mesmo armazenamento (armazenamento comum pode ser complicado, você precisa usar uma SAN com um sistema de arquivos 'compartilhado' como GFS ou um banco de dados), então você deve habilitar sessões o roteador que cada cliente escolherá um servidor para se comunicar pela primeira vez e manter com esse servidor. Isso é menos tolerante a falhas (mas na Web você só precisará atualizar uma conexão quebrada para começar de novo), mas muito mais fácil de arquitetar (e mais rápido, pois cada servidor da Web pode permanecer independente)

O outro problema que você precisa em uma situação verdadeiramente tolerante a falhas é localizar os servidores físicos distantes um do outro, o que gera problemas de desempenho para a maioria dos projetos de compartilhamento (ou seja, não é possível colocar todos os servidores em uma SAN em diferentes países), é usar a abordagem de vários servidores, usando um único nome DNS e replicar os dados entre eles regularmente. O balanceamento de carga de DNS é possivelmente a maneira mais fácil de usar vários servidores da Web como um único site.

Nesses casos, o banco de dados geralmente pode ser um único banco de dados com o qual todos os servidores se comunicam ou podem ser compartilhados, usando cluster ou, mais frequentemente, o envio de log para garantir que você tenha um backup pronto para entrar on-line. O envio de log é mais comum para servidores de backup do que está longe. [1]: link

    
por 05.07.2015 / 21:06
0

O Google não tem apenas um endereço IP para o google.com. Por exemplo, se eu emitir uma comando nslookup em um sistema Microsoft Windows no qual estou no momento, vejo o seguinte:

C:\>nslookup google.com
Server:  localhost
Address:  ::1

Non-authoritative answer:
Name:    google.com
Addresses:  2607:f8b0:4004:80d::200e
          216.58.217.142

Mas quando me conecto a outro sistema a cerca de 32 quilômetros de distância, onde a empresa usa um provedor de serviços de Internet (ISP) diferente e emite o mesmo comando nslookup, vejo o seguinte:

Name:    google.com
Addresses:  173.194.121.1, 173.194.121.7, 173.194.121.9, 173.194.121.0
          173.194.121.2, 173.194.121.8, 173.194.121.4, 173.194.121.3, 173.194.121.14
          173.194.121.6, 173.194.121.5

Os endereços IP ou IP que alguém vê são devolvidos quando uma consulta Sistema de Nomes de Domínio (DNS) é enviada para google.com pode variar dependendo da localização geográfica. Então, se você está no Canadá e eu estou nos EUA, você pode obter o endereço IP de um servidor do Google no Canadá enquanto eu recebo o endereço IP de um dos EUA. Muitas empresas grandes também usam round-robin DNS onde o endereço IP do sistema de alguém irá usar quando o sistema consultar um servidor DNS para traduzir um nome de domínio totalmente qualificado (FQDN ), como www.google.com, para um endereço IP varia de entre muitos endereços IP na lista que se vê de um nslookup . O Google parece estar fazendo isso, já que no segundo exemplo acima, não apenas um, mas muitos endereços IP foram retornados. A técnica é usada para que o load balance funcione entre vários servidores. Portanto, se eu visitar o google.com a partir desse site agora, talvez eu esteja conectado a um desses endereços IP, mas outro diferente, se eu visitar novamente o google.com desse mesmo site duas horas depois. O artigo da plataforma Google da Wikipedia, publicado em um comentário de DavidPostill, afirma que o Google usa o método round-robin de equilibrar a carga entre vários servidores .

Mesmo se você sempre obtiver o mesmo endereço IP de uma empresa, isso não significa que você sempre obterá páginas da web do mesmo servidor da web. Uma empresa pode ter um balanceador de carga que use uma técnica de proxy inverso para passar sua solicitação de páginas da Web nos sites da empresa para um dos vários servidores da Web por trás do balanceador de carga.

    
por 05.07.2015 / 22:25
0

Eles usam o Anycast. Ou seja, o mesmo IP público é hospedado em vários locais. A pilha de roteamento garantirá que a mais próxima seja resolvida para o cliente. Isso também torna mais fácil para o firewall colocar na lista de permissões um IP em vez de muitos.

    
por 13.08.2016 / 23:06

Tags