Werden die Daten von CDNs tatsächlich an den Client übertragen oder die URL des Inhalts übergeben?

940
zengr

Ich bin neugierig, zum Beispiel:

Facebook ist der Kunde von Akamai CDN.

Wenn ich mich jetzt bei meiner Facebook-Seite anmelde, sehe ich den gesamten Inhalt (Video, Bild, Text usw.) und klicke auf ein Video, um es anzuzeigen. Nun ist Facebook der Kunde von Akami, um den Inhalt zu erhalten.

Also, wenn eine Anfrage von Facebook an Akami gestellt wird, lädt Akamai das Video / Bild von ihren Rechenzentren in die Rechenzentren von Facebook, wo sie sich (je nach Heuristik) für einige Zeit aufhalten und nach einiger Zeit gelöscht werden?

Oder sehe ich das Video direkt vom Akamai-Server?

UPDATE1

Die Daten befinden sich dauerhaft in CDN (vereinbart), sind jedoch auch eine Kopie des Inhalts, der an die Datencenter von Facebook gesendet wird

UPDATE2

Ok, so wie in Joshs Antwort, dieses Bild der Architektur von Akamai, kann ich sagen, "IMAGE" wird tatsächlich auf dem Server von akamai gespeichert und die Referenz des Bildes (der URL) befindet sich in der Facebook-HTML-Seite, die wir sehen.

Werden die Daten von CDNs tatsächlich an den Client übertragen oder die URL des Inhalts übergeben?

1
@zengr: Ja, das stimmt, der HTML-Code stammt von Facebook und verweist auf Bilder, die auf den Servern von Akami gespeichert sind. Josh vor 14 Jahren 1

3 Antworten auf die Frage

2
Roy Rico

Die Konfiguration von Akamai ist in hohem Maße konfigurierbar. Normalerweise können Sie jedoch festlegen, welche Art von Inhalt Sie für wie lange speichern möchten (im Netzwerk von Akamai und im Browser des Benutzers). Akamai verfügt auch über ein Multi-Teir-System. Wenn ein Benutzer eine Anforderung von einem lokalen Akamai-Server abfragt und den Inhalt nicht hat, fordert er diese von einer übergeordneten Schicht an. Wenn dieses übergeordnete Element nicht vorhanden ist, fordert es die übergeordnete Ebene von der Ebene der Großeltern an. Danach würde die Akamai-Großeltern-Stufe es vom Ursprung aus anfordern. Sobald der Inhalt abgerufen und an den Benutzer gesendet wurde, wird er im Cache (auf jeder Ebene) gespeichert. Alle nachfolgenden Anfragen werden vom Akamai-Netzwerk bearbeitet. Wenn der Inhalt nicht erneut angefordert wird, wird er schließlich aus dem Cache gelöscht. Wenn es ein geschäftiger Akamai-Server ist,

Ich glaube nicht, dass Akamai die Möglichkeit hat, Benutzerinhalte auf ihren Servern zu speichern. Ihr Netzwerk ist dafür nicht ausgelegt. Wenn Sie ein Bild auf Facebook hochladen, laden Sie es auf den Facebook-Server hoch (ich erinnere mich, dass ich ein Whitepaper über das benutzerdefinierte Dateisystem von Facebook gelesen habe, um Bildanfragen zu bearbeiten).

Auf einer normalen Website kann Akamai je nach Konfiguration bis zu 95% des Datenverkehrs vom Ursprung abheben. Bei so etwas denke ich nicht, dass es so hoch sein würde, aber jeder Prozentsatz würde helfen.

Auf den ersten Blick würde ich davon ausgehen, dass Akamai nicht viel helfen könnte, da auf normale Benutzerprofilelemente nicht genug zugegriffen wird, um einen Unterschied zu machen. Wenn ich jedoch mehr darüber nachdenke, können Sie, wenn Sie in Ihrer Gegend ein ziemlich beliebter Benutzer sind, Ihre Bilder auf dem lokalen Akamai-Server zwischengespeichert haben, wenn andere Personen über denselben lokalen Akamai-Server auf Ihr FB-Profil zugreifen.

Der wahre Nutzen der Verwendung von Akamai liegt auf der Seite eines Prominenten, auf einer Unternehmensseite oder nur auf den statischen Elementen (css / js) der Facebook-Website. Alles mit hoher Lautstärke

In Anbetracht all dessen gehe ich davon aus, dass die Profile normaler Benutzer beim Hochladen auf Facebook auf den Servern von Facebook gespeichert werden. Wenn Sie sie anfordern, kehrt Akamai zu den Ursprungsservern von Facebook zurück, zieht sie ab und legt sie im Cache ab. Wenn Ihr Nachbar sie anschaut, sind sie auf demselben ISP (idealerweise) und würden sie von dem Akamai-Cache-Server entfernen, der sich (idealerweise) in Ihrem ISP befindet.

Davon abgesehen weiß ich nichts von der Akamai-Konfiguration von Facebook, daher können sie etwas völlig Gewohnheit haben und außerhalb der Norm liegen.

1
Josh

Im Allgemeinen funktioniert das so, dass der gesamte Inhalt auf dem primären Server (in Ihrem Beispiel Facebook) gespeichert wird und das CDN-Netzwerk eine Kopie der angeforderten Daten im Cache speichert. Also fordern Sie es von Akamai an, das von Facebook verlangt, ob es nicht zwischengespeichert wird oder es einfach aus dem Cache abdeckt. Die nächste Person, die diese Daten anfordert, erhält diese Daten aus dem Cache von Akamai, wodurch die Belastung der Facebook-Server verringert wird. Ähnlich wie ein Browser-Cache.

Siehe den Wikipedia-Artikel zu Akamai, insbesondere:

Akamai spiegelt Inhalte transparent - manchmal den gesamten Website-Inhalt, einschließlich HTML-, CSS- und Softwaredownloads, und manchmal nur Medienobjekte wie Audio, Grafiken, Animationen und Videos - von Kundenservern. Obwohl der Domänenname (aber keine Subdomain) derselbe ist, verweist die IP-Adresse auf einen Akamai-Server und nicht auf den Server des Kunden

Ich habe in einer großen Firma gearbeitet, die "aktive" CDN-Netzwerke produzierte, in denen es einen zentralen Server gab, der alle Medien und viele Server zur Bereitstellung von Inhalten enthielt. Die Medien würden auf den Master-Server hochgeladen und alle Slaves kontaktiert werden, um den neuen Inhalt an sie weiterzuleiten. Diese Art von CDN ist jedoch für die Bereitstellung von Inhalten über bekannte Verbindungen mit hoher Bandbreite ausgelegt - beispielsweise, wenn Sie über ein zentrales Büro und viele Zweigstellen verfügen. Jede Niederlassung verfügt über ein Fast-Ethernet-Netzwerk, sodass ihre CDN-Server über das (langsame) Internet mit dem zentralen Server synchronisiert werden. Dies ist jedoch ein anderes Konzept als Akamai.

0
Ignacio Vazquez-Abrams

Die Ressource ist dauerhaft (bis der Client sie entfernt hat) im CDN-Speicher vorhanden und wird von dort auf Anforderung von einem Browser abgerufen.

Ja, ich bin damit einverstanden, dass es dauerhaft in CDN gespeichert ist, aber wird auch eine Kopie des Inhalts an die Datencenter von Facebook gesendet? zengr vor 14 Jahren 0
@zengr: Der Inhalt * stammt * von Facebook-Servern, und das CDN spiegelt ihn von dort aus Josh vor 14 Jahren 0
Dies bezieht sich nicht auf seine Frage zum Hochladen von Inhalten. Roy Rico vor 14 Jahren 0