Sim, atualmente existem duas soluções populares para esse problema.
O primeiro é chamado Anycast
, onde o mesmo bloco IP está literalmente em uso em vários locais ao redor do mundo. Ou seja, os servidores de nome para o seu domínio sempre retornam o mesmo endereço IP, mas esse endereço IP é realmente atribuído a mais de um conjunto de servidores físicos.
Você pode ler mais sobre isso aqui http://en.wikipedia.org/wiki/Anycast
A segunda técnica envolve novamente o AnyCast; entretanto, desta vez, o intervalo de endereços IP que está sendo transmitido refere-se aos nossos próprios servidores de nomes. Como os servidores de nomes solicitam apenas aos clientes quem eles são mais próximos também (conforme determinado pela mágica do BGP), eles próprios podem retornar endereços IP que são logicamente locais para o cliente.
Um exemplo disso é o domínio l.google.com do google
De um host na Austrália
crimson:~ dave$ host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com is an alias for www-notmumbai.l.google.com.
www-notmumbai.l.google.com has address 66.249.89.99
www-notmumbai.l.google.com has address 66.249.89.147
www-notmumbai.l.google.com has address 66.249.89.103
www-notmumbai.l.google.com has address 66.249.89.104
De um host nos EUA
[dave@odessa ~]$ host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 74.125.95.99
www.l.google.com has address 74.125.95.147
www.l.google.com has address 74.125.95.104
www.l.google.com has address 74.125.95.106
www.l.google.com has address 74.125.95.105
www.l.google.com has address 74.125.95.103
Portanto, o CNAME para www.google.com
resolve www.l.google.com
, mas quando você decide que, dependendo da sua localização, seu cliente recebe um conjunto diferente de endereços IP. Isso ocorre porque o servidor de nomes que recebeu a solicitação www.l.google.com
era o servidor de nomes local , relativo ao cliente.
Se você deseja localizar apenas servidores para Ásia, América do Norte e Europa, pode decidir executar o seu aplicativo da web e o seu DNS.
Com o DNS, você pode usar algo como a abordagem DNS Split-Horizon , que pode ser alcançada através da funcionalidade integrada do seu servidor DNS (pode ser chamado de GeoDNS ) ou através de um firewall que redireciona diferentes intervalos de endereços IP para diferentes execuções . instâncias do seu servidor DNS (você pode executar várias cópias diferentes do servidor na sua máquina local, que escutam em diferentes endereços IP locais).
Provavelmente, é possível obter resultados esperados em 90% dos casos, respondendo às solicitações de DNS dos endereços IP RIPE e AfriNIC com um
A
registro do seu host na Europa, solicitações do APNIC - host na Ásia e solicitações dos endereços IP do / 8 blocos administrados por ARIN , LACNIC e o restante do espaço de endereço / 8 com umA
registro do seu servidor na América do Norte. Isso terá resultados errados em determinadas situações (alguns blocos de 8 são compartilhados entre a Europa e a América do Norte, algum espaço de endereçamento é anycast etc.), mas o pior que poderia acontecer seria uma latência extra para a parte afetada, portanto, não deveria ' Não é grande coisa.(E, sim, deve haver uma maneira de facilitar essas coisas, mas, até agora, parece que não há.)
fonte
Eu tive o mesmo problema. Nossa empresa tem clientes na Rússia e na China e todos eles precisam de uma conexão muito rápida com o nosso serviço. Usamos o Amazon Route 53 Geo dns e acabamos de criar dois registros, um encaminhará clientes da China para o cluster da região de Tóquio e clientes da Rússia para Londres.
fonte