Frage Technologien, die die Verbreitung von YouTube-Skalen ermöglichen


Youtube, wie wir wissen, ist massiv. Es hat Tausende von gleichzeitigen Benutzern, die mindestens 2 Megabyte pro Video streamen. Offensichtlich wird das viel Verkehr ... viel zu viel für irgendeinen Server.

Welche Netzwerktechnologien ermöglichen Pushing? 4 Milliarden Videos pro Tag?


34
2018-03-13 05:24


Ursprung




Antworten:


Skalierung auf dem Backend

In einem sehr einfachen Setup wird ein DNS-Eintrag an eine IP gesendet, die zu einem Server gehört. Jeder auf der Welt geht zu dieser einzigen Maschine. Bei ausreichendem Traffic ist das einfach zu lang, bevor du die Größe von YouTube erreichen kannst. In einem einfachen Szenario fügen wir einen Lastenausgleich hinzu. Der Job des Load Balancers besteht darin, den Datenverkehr an verschiedene Back-End-Server umzuleiten, während er als ein Server angezeigt wird.

Mit so vielen Daten wie YouTube ist es zu viel zu erwarten, dass alle Server alle Videos bereitstellen können. Daher haben wir eine weitere Ebene der Indirektion hinzugefügt: sharding. In einem erfundenen Beispiel ist ein Server für alles verantwortlich, was mit "A" beginnt, ein anderes besitzt "B" und so weiter.

Bewegen Sie die Kante näher

Schließlich wird die Bandbreite jedoch intensiv und Sie bewegen eine Menge Daten in einen Raum. Jetzt, wo wir super beliebt sind, bringen wir es aus diesem Raum. Die beiden Technologien, die hier eine Rolle spielen, sind Content Distribution Networks und Anycasting.

Wo ich diese großen statischen Dateien auf der ganzen Welt angefordert habe, höre ich auf, direkte Links zu meinen Hosting-Servern zu zeigen. Was ich stattdessen mache, ist ein Link zu meinem CDN-Server. Wenn jemand nach einem Video fragt, fragt er meinen CDN-Server danach. Das CDN ist dafür verantwortlich, das Video bereits zu haben, eine Kopie vom Hosting-Server anzufordern oder mich umzuleiten. Das hängt von der Architektur des Netzwerks ab.

Wie ist dieses CDN hilfreich? Nun, eine IP kann tatsächlich zu vielen Servern gehören, die an vielen Orten auf der ganzen Welt sind. Wenn Ihre Anfrage Ihren Computer verlässt und zu Ihrem ISP geht, ordnet ihr Router den besten Pfad (kürzeste, schnellste, kostengünstigste ... welcher Metrik) zu dieser IP zu. Oft für ein CDN, das wird auf oder neben Ihrem nächsten sein Stufe 1 Netzwerk.

Also habe ich ein Video von YouTube angefordert. Die tatsächliche Maschine, auf der es gespeichert wurde, ist mindestens iad09s12.v12.lscache8.c.youtube.com und tc.v19.cache5.c.youtube.com. Diese erscheinen in der Quelle meiner Webseite, die ich mir angesehen habe, und wurden von einer Art Indexserver bereitgestellt. Jetzt, von Maine, fand ich den tc19 Server in Miama, Florida. Aus Washington fand ich den tc19 Server in San Jose, Kalifornien.


51
2018-03-13 05:49



Ihr künstliches Beispiel für Sharding ist das Beste, was ich gesehen habe. Jeder scheint aus irgendeinem Grund eine große Komplikation aus diesem einfachen Konzept zu machen. - kizzx2
@Jeff, wäre toll, wenn du in einigen Zitaten hinzufügst oder klarstellst, dass es sich um Endnutzerspekulationen handelt. - Pacerier


Für große Sites werden mehrere Techniken verwendet.

www.youtube.com -> beliebig viele IP-Adressen

Lass uns in DNS schauen:

www.youtube.com is an alias for youtube-ui.l.google.com.
youtube-ui.l.google.com has address 74.125.226.14
youtube-ui.l.google.com has address 74.125.226.0
youtube-ui.l.google.com has address 74.125.226.1
youtube-ui.l.google.com has address 74.125.226.2
youtube-ui.l.google.com has address 74.125.226.3
youtube-ui.l.google.com has address 74.125.226.4
youtube-ui.l.google.com has address 74.125.226.5
youtube-ui.l.google.com has address 74.125.226.6
youtube-ui.l.google.com has address 74.125.226.7
youtube-ui.l.google.com has address 74.125.226.8
youtube-ui.l.google.com has address 74.125.226.9
youtube-ui.l.google.com has IPv6 address 2001:4860:800f::88

Also könnte www.youtube.com eigentlich zu mehreren IP-Adressen gehen.

anonyme IP-Adressen

Eine einzelne IP könnte gleichzeitig von einer beliebigen Anzahl autonomer Systeme (einem Netzwerk im Internet) verarbeitet werden. Zum Beispiel viele der Root-DNS-Server sowie Google's 8.8.8.8 DNS-Server sind an vielen Punkten rund um den Globus vorhanden. Die Idee ist, dass wenn Sie in den USA sind, Sie das US-Netzwerk betreten und wenn Sie in Großbritannien sind, treffen Sie das britische Netzwerk.

Medien kommen von verschiedenen Servern

Nur weil du da bist www.youtube.comDas bedeutet nicht, dass der gesamte Inhalt vom selben Server kommen muss. Direkt auf dieser Site werden statische Ressourcen bereitgestellt sstatic.net anstatt serverfault.com.

Zum Beispiel, wenn wir zusehen Kaley Cuocos Sklaven Leia PSA wir finden, dass die Medien von serviert werden v10.lscache5.c.youtube.com.

mehrere Internetverbindungen

Ich versichere Ihnen, Youtube hat mehr als eine Internetverbindung. Trotz aller anderen Techniken könnte Youtube, selbst wenn es sich um eine einzelne Site und einen einzelnen Server handelt, theoretisch Verbindungen zu jedem anderen Netzwerk haben, dem es Videos bereitstellt. In der realen Welt ist das natürlich nicht möglich, aber bedenke die Idee.

Irgendwelche oder alle diese Ideen (und mehr!) Können verwendet werden, um a zu unterstützen Inhaltsbereitstellungsnetzwerk. Lesen Sie diesen Artikel, wenn Sie mehr wissen möchten.


23
2018-03-13 05:42



"Es könnte in der Theorie Verbindungen zu jedem anderen Netzwerk haben, dem es Video lief. In der realen Welt ist das natürlich nicht möglich, aber bedenke die Idee." Warum ist es in der realen Welt nicht möglich? Sie können viele Internetanbieter abonnieren - user1034912
Sie möchten wirklich unabhängige Verbindungen zu mehr als fünfunddreißigtausend getrennten Netzwerken haben? Es ist nicht praktisch. - MikeyB


Sie können sich nicht vorstellen, dass YouTube (alias Google) nur einen Server hat; diese Inforgraphik könnte helfen, den Umfang des Systems, das diesen Dienst unterstützt, zu veranschaulichen.

Selbst wenn Sie nur einen Punkt der Präsenz haben, können Sie mehr als einen Server hinter einem einzigen Namen haben, und sogar IP, mit Tools wie Load Balancer und alle.

Google hat jedoch eine Menge Präsenzpunkte und verwendet Tools wie AnyCast - eine Technik, um dieselbe IP an mehreren Stellen im Internet zu veröffentlichen und die Leute zum nächsten Server-Pool zu leiten, der sie besitzt - um die Infrastruktur zu sichern.


12
2018-03-13 05:27



Wie bringt Google weltweit eine Million Server? Vermieten sie die Server? Wäre es nicht schwierig für sie, die Datensicherheit durch die Verwaltung all dieser Drittanbieterserver zu gewährleisten? - user1034912
Sie besitzen jeden einzelnen von ihnen. Ernsthaft, sie kaufen - gut, machen, diese Tage - sie. Das kostet so viel, wie Sie es sich vorstellen, in mancher Hinsicht, aber weniger in anderen. - Daniel Pittman
investor.google.com/financial/tables.html könnte helfen; Q4, 2011, 10.000-ish ... Millionen Dollar kamen herein. Im Ernst, sie sind in einem Maßstab, den Sie sich nicht vorstellen können. - Daniel Pittman
@ user1034912 - Ja, es ist atemberaubend. Aber das ist GoogleAlso warum zur Hölle nicht? Es gibt Tausende von Rechenzentren weltweit, Google betreibt einen winzigen Teil von ihnen. - tombull89
@Tomtom - Warum ist es nicht schwer für einen Benutzer zu glauben, der mit Servertechnologie nicht vertraut ist? Es ist unhöflich und extrem beleidigend zu sagen, dass jemand, der Google nicht kennt, Hunderte von Servern unter einem Stein lebt. Geh raus und frage eine Handvoll normaler Nicht-Techniker und ich garantiere, dass sie nicht wissen, wie groß die Server von Google sind oder was sie sind. Auch, suchen normale Leute normalerweise Bilanzen? Müssen Sie immer alle Neuigkeiten über Rechenzentren lesen? Ehrlich gesagt, es ist mir egal, wie viel Sie haben, aber wenn Sie unhöflich, respektlos und erniedrigend sind, bringt Sie das nirgendwo hin. - DMan


Ich werde ein wenig auf die Netzwerkseite der Dinge eingehen: Google hat einen Point of Presence (PoP) in 73 einzigartigen Datenzentren auf der ganzen Welt (ohne eigene). Sie sind Mitglied von 69 einzigartige Internetbörsen. Google befindet sich in mehr Rechenzentren und Internet Exchange-Points als andere Netzwerke, die auf peeringdb aufgelistet sind.

Die gesamte Internet-Austauschkapazität von Google beträgt> 1,5 Tbps und 1,5 Tbps sind für Netzwerke mit> 100 Mbps Traffic mit Google reserviert, aber weniger als ungefähr 2-3 Gbps. Nachdem du es getan hast "ausreichendes Volumen", Sie werden zum privaten Peering (PNI) bewegt.

Zusätzlich zu Internet Exchange Peering und Private Peering (mit AS15169) betreibt YouTube auch ein Transitnetzwerk: AS43515, und ein anderes Netzwerk, von dem ich annehme, dass es sich um Paid Peering / Overflow handelt, AS36040. Google betreibt auch Google Globaler Cache Server, damit ISPs noch mehr lokal in ihrem Netzwerk bereitstellen können. (Daten von peeringdb, bgp.he.net).

Basierend auf meiner Erfahrung glaube ich, dass YouTube viel mehr als nur IP-Geolocation oder Anycast verwendet, um einen Ort auszuwählen, an dem Videos bereitgestellt werden können.

Google betreibt ein riesiges globales Backbone-Netzwerk, Sie besitzen dunkle Fasern, Sie haben finanzierte Seekabel. Die Menge an Traffic, die YouTube generiert, ist enorm! Ich denke, YouTube hat ein maximales Verkehrsaufkommen von> 12 Tbps. Google stellt dar mindestens 7% (und wahrscheinlich> 10%) des gesamten Inter-Domain-Internetverkehrs.

Um Ihre Frage aus der Netzwerkperspektive zu beantworten, müssen Sie, um wie YouTube zu skalieren, massiv in Ihr Netzwerk investieren - von der Glasfaser im Boden über die WDM-Ausrüstung bis hin zu den Routern. Sie müssen den Inhalt und das Netzwerk so nah wie möglich an Ihre Benutzer bringen. Das bedeutet normalerweise Peering, IXs und vielleicht ein bisschen Transit. Sie müssen in der Lage sein, Benutzern intelligent mitzuteilen, woher der Inhalt stammt, um den Datenverkehr möglichst gleichmäßig und kostengünstig zu halten. Und natürlich müssen Sie über die massive Server-Infrastruktur verfügen, um 4 Milliarden Aufrufe pro Tag zu speichern, zu verarbeiten, zu konvertieren und zu liefern!

Wenn Sie neugierig auf die Serverseite sind, schrieb ich ein Blogeintrag Dadurch werden einige der kürzlich veröffentlichten Datencenter-Bilder aufgelöst.


3
2018-04-22 23:27



Übrigens arbeitest du für Google? - Pacerier


Wenn Sie mehr über Großsysteme und die Technologien dieser Unternehmen erfahren möchten, ist die beste Quelle jetzt http://highskalability.com

Die größten Unternehmen wie Google oder Akamai, sie haben immer Komponenten, die sie selbst geschrieben / erstellt haben. (Zum Beispiel hat Akamai einen Webserver für ihre Dienste entwickelt)


2
2018-03-13 07:43



Einige der Daten dort sind jedoch veraltet .... - Pacerier