Como dirijo o usuário para os servidores corretos com base na geografia?

1

Se eu tiver 3 servidores para o meu site, como direcionaria a localização geográfica dos usuários para o lugar certo?

O servidor principal está na Austrália, mas o conteúdo é sincronizado com um servidor dos EUA. Como alguém no Reino Unido, meus tempos de ping para o servidor dos EUA estão abaixo de 100 ms, mas a Austrália é de 300 a 600 ms.

Quais são as minhas opções para direcionar o tráfego para o servidor correto?

  1. IP amplo?
  2. Detectar e pesquisar IP no primeiro servidor que eles acessaram e redirecionar para outro domínio?

Como o Googe faz isso?

    
por MrHinsh - Martin Hinshelwood 23.12.2009 / 16:37

5 respostas

2

A melhor maneira da IMHO é recompilar o BIND com patch do GeoDNS

você pode controlar clientes por visualizações, por exemplo

veja "north_america" {

  match-clients { country_US; country_CA; country_MX; };

   zone "example555.com" {type master;file "pri/example555-north-america";};
    
por 24.12.2009 / 18:02
1

O Google faz isso usando uma tecnologia chamada "anycast". Eles usam o mesmo IP atribuído a várias máquinas que são colocadas em todo o mundo. Resumindo, o menos dispendioso de acordo com o sistema BGP e, geralmente, o caminho mais curto é usado.

Normalmente, vários caminhos para um IP são exportados quando o multihoming ... mais de um ISP entra em sua rede, portanto, há mais de uma maneira de chegar lá. Você pega o caminho mais barato / mais rápido. Com anycast, tudo acontece da mesma maneira, mas os caminhos diferentes levam a máquinas fisicamente diferentes em lugares distantes, em vez de apenas mais de um caminho para a mesma máquina. Para o usuário final, não importa, porque o conteúdo de qualquer um deles será o mesmo.

Como esse truque leva um ID do BGP e pelo menos um bloco / 24 no valor de endereços que você não poderá usar para mais nada, provavelmente não usará a solução deles. Você pode contratar isso para conteúdo estático através da Akamai Technologies e, provavelmente, várias outras empresas também. Não sei se algum provedor lidará com conteúdo dinâmico dessa maneira.

Você também pode usar um serviço como o GeoIP da MaxMind. Isso pode ser o melhor custo-benefício, mas você terá que fazer alguma codificação inicial para redirecionar seus usuários com base em verificações dos dados de IP. Note que eles oferecem um banco de dados gratuito, e para a direção no nível do país, isso é provavelmente bom o suficiente. A idéia do patch BIND de Disserman também pode funcionar muito bem, usando respostas de DNS para direcionar pessoas em vez de redirecionamentos. Isso pode ser confuso para alguns usuários muito técnicos ou ao depurar problemas estranhos nos quais hosts diferentes pensam que o mesmo nome aponta para lugares diferentes.

    
por 12.01.2010 / 20:18
0

A última abordagem funcionará e é de fato usada por muitos servidores, mas você também pode considerar o balanceamento de carga global, pois isso resolverá esse problema e também ajudará na continuidade dos negócios.

    
por 23.12.2009 / 17:01
0

Eu anunciaria a segunda opção, juntamente com uma pesquisa do GeoIP para redirecionar para o servidor mais próximo.

    
por 23.12.2009 / 17:08
0

Se o site for veiculado de maneira idêntica pelos três servidores, torne-o transparente e não redirecione. Não faz sentido ter conteúdo idêntico em domínios diferentes.

Além disso, as técnicas usadas para fazer isso permitirão failover se um dos servidores falhar.

    
por 24.12.2009 / 17:38