Wie haben große Websites wie google.com viele Webserver, die auf einer öffentlichen IP-Adresse ausgeführt werden?

1

So ist zum Beispiel die DNS von google.com eine öffentliche IP, mit der der Nutzer eine Verbindung herstellt.

Google verfügt über eine riesige Infrastruktur von Webservern.

Wie können all diese noch auf der gleichen IP laufen, so dass die URL immer noch google.com ist

Simon James
quelle
1
en.wikipedia.org/wiki/Google_platform - Dieser Artikel beschreibt die technologische Infrastruktur hinter den Websites von Google, wie in den öffentlichen Ankündigungen des Unternehmens dargestellt.
DavidPostill
1
Eigentlich ist für mich nslookup google.comeine Liste von 20 Servern:87.245.198.XX
5.
1
Es gibt Dinge wie Geoip-basierte DNS-Antwort und Lastausgleich, die Ihnen dabei helfen
Dan

Antworten:

1

Ich bin nicht sicher, dass Google es verwendet, aber der Lastausgleich würde ich raten. Um keine anderen Informationen zu stehlen, finden Sie hier einen Link zu einem Thread. Erklärt das besser, als ich kann.

Lastenausgleich für viele Server, sodass 1 IP-Adresse angezeigt wird, die Verbindung jedoch an einen von vielen Servern weitergeleitet wird (einschließlich Fehlertoleranz).

Wenn Ihre Webserver nicht denselben Speicher verwenden (gemeinsamer Speicher kann schwierig sein, Sie müssen ein SAN mit einem gemeinsam genutzten Dateisystem wie GFS oder einer Datenbank verwenden), sollten Sie Sticky-Sitzungen aktivieren, die dem Router dies mitteilen Jeder Client wählt einen Server für die erstmalige Kommunikation aus und bleibt mit diesem Server verbunden. Dies ist weniger fehlertolerant (aber im Web müssen Sie nur eine unterbrochene Verbindung aktualisieren, um von vorne zu beginnen), aber viel einfacher zu erstellen (und schneller, da jeder Webserver unabhängig bleiben kann).

Das andere Problem, das Sie in einer wirklich fehlertoleranten Situation benötigen würden, besteht darin, die physischen Server weit voneinander entfernt zu lokalisieren. Dies führt bei den meisten Designs zur gemeinsamen Nutzung zu Leistungsproblemen (dh, Sie können nicht alle Server in ein SAN stellen, wenn sie sich in einem SAN befinden) verschiedene Länder), wird der Ansatz mit mehreren Servern verwendet, wobei ein einziger DNS-Name verwendet wird und Daten regelmäßig zwischen diesen repliziert werden. Der DNS-Lastenausgleich ist möglicherweise die einfachste Möglichkeit, mehrere Webserver als eine Website zu verwenden.

In diesen Fällen kann es sich bei der Datenbank häufig um eine einzelne Datenbank handeln, mit der alle Server kommunizieren, oder sie kann mithilfe von Clustering oder häufigerem Protokollversand selbst gemeinsam genutzt werden, um sicherzustellen, dass Sie eine Sicherung haben, die online geschaltet werden kann, falls die primäre ausfällt. Der Protokollversand ist bei Sicherungsservern häufiger als bei weit entfernten. [1]: https://stackoverflow.com/questions/906539/how-do-multiple-servers-work-in-sync-for-web-application

Steve Wi
quelle
Der Lastenausgleich ist nur ein Teil davon. Siehe meinen Kommentar unter der Frage.
DavidPostill
1
Steve, der Text von einer anderen Website kopiert und dann einen Link für die Quelle hinzufügt, ist hier in SuperUser der bevorzugte Weg, falls der Link abbricht und die Informationen nicht verloren gehen. Ich stimme nicht für Posts, die nur einen Link zur Lösung enthalten. Aber wenn Sie diesen Beitrag bearbeiten und einbinden und dies zu einer guten Antwort wird, dann werde ich (und möglicherweise auch andere) für Sie stimmen.
LPChip
0

Google hat nicht nur eine IP-Adresse für google.com. Beispiel: Wenn ich auf einem Microsoft Windows-System, auf dem ich mich gerade befinde, einen nslookup- Befehl absetze , wird Folgendes angezeigt:

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

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

Wenn ich jedoch eine Verbindung zu einem anderen System in ca. 32 km Entfernung herstelle, bei dem das Unternehmen einen anderen Internetdienstanbieter (ISP) verwendet und denselben nslookup-Befehl absetze, wird Folgendes angezeigt:

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

Die IP- oder IP-Adressen, die bei der Übermittlung einer DNS- Abfrage (Domain Name System) für google.com zurückgegeben werden, können je nach geografischem Standort variieren. Wenn Sie also in Kanada sind und ich in den USA bin, erhalten Sie möglicherweise die IP-Adresse eines Google-Servers in Kanada, während ich die IP-Adresse eines in den USA erhalte. Viele große Unternehmen verwenden auch Round-Robin-DNS, bei dem die IP-Adresse verwendet wird Die Adresse, die das System eines anderen Benutzers verwendet, wenn das System einen DNS-Server abfragt, um einen vollqualifizierten Domain-Namen (FQDN ) wie z. B. www.google.com in eine IP-Adresse zu übersetzen . Google scheint dies zu tun, da im obigen zweiten Beispiel nicht nur eine, sondern viele IP-Adressen zurückgegeben wurden. Die Technik ist gewohntLastausgleich funktioniert unter vielen Servern. Wenn ich jetzt google.com von dieser Website aus besuche, ist möglicherweise eine Verbindung zu einer dieser IP-Adressen hergestellt, aber eine andere, wenn ich zwei Stunden später erneut google.com von derselben Website aus besuche. Der Wikipedia-Artikel der Google-Plattform, der in einem Kommentar von DavidPostill veröffentlicht wurde, besagt, dass Google die Round-Robin-Methode verwendet, um die Last auf mehrere Server zu verteilen.

Selbst wenn Sie für ein Unternehmen immer die gleiche IP-Adresse erhalten, bedeutet dies nicht, dass Sie Webseiten immer vom gleichen Webserver erhalten. Ein Unternehmen verfügt möglicherweise über einen Lastenausgleich, der mithilfe eines Reverse-Proxy- Verfahrens Ihre Anforderung für Webseiten auf den Websites des Unternehmens an einen von mehreren Webservern hinter dem Lastenausgleich weiterleitet.

Mondpunkt
quelle
0

Sie verwenden Anycast. Dh die gleiche öffentliche IP wird von mehreren Standorten aus gehostet. Der Routing-Stack stellt sicher, dass der Client den nächstgelegenen auflöst. Dies macht es auch für die Firewall einfacher, eine IP-Adresse anstelle von vielen auf die Whitelist zu setzen.

Vishal Naidu
quelle