Oui, il existe actuellement deux solutions populaires à ce problème.
Le premier est appelé Anycast
, où le même bloc IP est littéralement utilisé à plusieurs endroits dans le monde. En d'autres termes, les serveurs de noms de votre domaine renvoient toujours la même adresse IP, mais cette adresse IP est en fait attribuée à plusieurs ensembles de serveurs physiques.
Vous pouvez en savoir plus à ce sujet ici http://en.wikipedia.org/wiki/Anycast
La deuxième technique implique à nouveau AnyCast, mais cette fois, la plage d'adresses IP diffusée fait référence à nos serveurs de noms eux-mêmes. Comme les serveurs de noms ne demanderont que des clients qui sont aussi leurs plus proches (comme déterminé par la magie de BGP), ils peuvent eux-mêmes renvoyer des adresses IP logiquement locales au client.
Un exemple de ceci est le domaine l.google.com de google
Depuis un hôte en Australie
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
D'un hôte aux États-Unis
[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
Ainsi, le CNAME pour se www.google.com
résout à www.l.google.com
, mais lorsque vous le résolvez, selon votre emplacement, votre client reçoit un ensemble différent d'adresses IP. Cela est dû au fait que le serveur de noms qui a reçu la demande www.l.google.com
était le serveur de noms local , par rapport au client.
Si vous souhaitez uniquement localiser des serveurs pour l'Asie, l'Amérique du Nord et l'Europe, vous pouvez décider d'exécuter vous-même votre application Web et votre DNS.
Avec DNS, vous pouvez utiliser quelque chose comme l' approche DNS de Split-Horizon , qui pourrait être obtenue grâce à la fonctionnalité intégrée de votre serveur DNS (ils peuvent l'appeler GeoDNS ), ou via un pare - feu qui redirigerait différentes plages d'adresses IP vers différentes exécutions des instances de votre serveur DNS (vous pouvez exécuter plusieurs copies différentes du serveur sur votre machine locale, qui écouteront à différentes adresses IP locales).
Vous pourriez probablement obtenir les résultats escomptés dans ≈90% des cas en répondant aux demandes DNS des adresses IP RIPE et AfriNIC avec un
A
enregistrement de votre hôte en Europe, des demandes d' APNIC - hôte en Asie et des demandes des adresses IP du / 8 blocs administrés par ARIN , LACNIC et le reste de l'espace d'adressage / 8 avec unA
enregistrement de votre serveur en Amérique du Nord. Cela aura des résultats erronés dans certaines situations (certains blocs / 8 sont partagés entre l'Europe et l'Amérique du Nord, un certain espace d'adressage est anycast, etc.), mais le pire qui se produirait est une latence supplémentaire pour la partie concernée, donc, il ne devrait pas '' t être un gros problème.(Et, oui, il devrait y avoir un moyen de rendre ces choses plus faciles, mais, jusqu'à présent, il semble qu'il n'y en ait pas.)
la source
J'ai eu le même problème. Notre entreprise a des clients en Russie et en Chine et ils ont tous besoin d'une connexion très rapide à notre service. Nous avons utilisé Amazon Route 53 Geo dns et venons de créer deux enregistrements, l'un acheminera les clients de la Chine vers notre cluster de la région de Tokyo et les clients de la Russie vers Londres.
la source