Ja, es gibt derzeit zwei beliebte Lösungen für dieses Problem.
Der erste wird als Anycast
IP-Block bezeichnet , bei dem derselbe IP-Block buchstäblich an mehreren Standorten auf der ganzen Welt verwendet wird. Das heißt, die Nameserver für Ihre Domain geben immer dieselbe IP-Adresse zurück, diese IP-Adresse wird jedoch tatsächlich mehreren physischen Servern zugewiesen.
Sie können mehr darüber hier lesen http://en.wikipedia.org/wiki/Anycast
Die zweite Technik betrifft wieder AnyCast. Diesmal bezieht sich der übertragene IP-Adressbereich jedoch auf unsere Nameserver. Da die Nameserver nur von Clients anfordern, die ihnen am nächsten stehen (wie durch die Magie von BGP bestimmt), können sie selbst IP-Adressen zurückgeben, die logisch lokal für den Client sind.
Ein Beispiel hierfür ist die Domain l.google.com von Google
Von einem Gastgeber in Australien
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
Von einem Gastgeber in den USA
[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
Der CNAME für wird also www.google.com
in aufgelöst www.l.google.com
. Wenn Sie dies jedoch abhängig von Ihrem Standort auflösen, erhält Ihr Client einen anderen Satz von IP-Adressen. Dies liegt daran, dass www.l.google.com
der Nameserver, für den die Anforderung empfangen wurde, der lokale Nameserver im Verhältnis zum Client war.
Wenn Sie nur Server für Asien, Nordamerika und Europa lokalisieren möchten, können Sie sowohl Ihre Webanwendung als auch Ihren DNS selbst ausführen.
Mit DNS könnten Sie so etwas wie den Split-Horizon-DNS- Ansatz verwenden, der entweder durch die integrierte Funktionalität Ihres DNS-Servers (sie nennen es möglicherweise GeoDNS ) oder durch eine Firewall erreicht werden kann , die unterschiedliche IP-Adressbereiche auf unterschiedliche Ausführung umleitet Instanzen Ihres DNS-Servers (Sie können mehrere verschiedene Kopien des Servers auf Ihrem lokalen Computer ausführen, die unterschiedliche lokale IP-Adressen überwachen).
Sie könnten wahrscheinlich in 90% der Fälle erwartete Ergebnisse erzielen, wenn Sie auf DNS-Anfragen von RIPE- und AfriNIC-IP-Adressen mit einem Eintrag
A
Ihres Hosts in Europa, Anfragen von APNIC - Host in Asien und Anfragen von den IP-Adressen von antworten / 8- Blöcke, die von ARIN , LACNIC und dem Rest des / 8-Adressraums verwaltet werden, mit einemA
Datensatz Ihres Servers in Nordamerika. Dies hat in bestimmten Situationen einige falsche Ergebnisse zur Folge (einige / 8-Blöcke werden zwischen Europa und Nordamerika geteilt, einige Adressräume sind Anycasts usw.), aber das Schlimmste, was passieren würde, ist eine zusätzliche Latenz für die betroffene Partei. t eine große Sache sein.(Und ja, es sollte einen Weg geben, diese Dinge einfacher zu machen, aber bisher scheint es keinen zu geben.)
quelle
Ich hatte das gleiche problem Unsere Firma hat Kunden in Russland und China und alle brauchen eine sehr schnelle Verbindung zu unserem Service. Wir haben Amazon Route 53 Geo-DNS verwendet und gerade zwei Datensätze erstellt, von denen einer Kunden aus China zu unserem Cluster in der Region Tokio und Kunden aus Russland nach London weiterleiten wird.
quelle