Was ist ein CDN-Edge-Server?

Ein CDN-Edge-Server ist ein Knoten in einem verteilten Netzwerk, der zwischengespeicherte oder per Proxy weitergeleitete Inhalte relativ nah am Anfragenden ausliefert. Er kann am Netzwerkrand auch Richtlinien für Routing, Zugriff oder Transformation anwenden.

So funktionieren CDN-Edge-Server

Ein Edge-Server ist die Anlaufstelle für Anfragen, die für einen bestimmten Client zu einem bestimmten Zeitpunkt aus den verteilten Standorten eines CDNs ausgewählt wird. Er terminiert die Verbindung, wertet die Edge-Konfiguration aus, prüft den Zustand lokaler oder hierarchischer Caches und antwortet entweder selbst oder kontaktiert eine vorgelagerte Ebene. Da Routing und zwischengespeicherte Objekte standortabhängig sind, können identische URLs je nach Region unterschiedliche Latenzen, Alterswerte oder Fehlerverhalten aufweisen.

Wichtige Fakten

  1. Welcher Edge-Knoten eine Anfrage bearbeitet, entscheidet das Routing, nicht die Entfernung auf einer Karte. Amazon CloudFront verwendet DNS, um einen Zuschauer an den Standort zu leiten, der die Anfrage am besten bedienen kann. Das ist üblicherweise der Standort mit der geringsten Latenz. Cloudflare beantwortet DNS-Anfragen mit einer Anycast-Adresse. Bei Anycast wählt das Routing-System des Internets den Knoten anhand der Netzwerktopologie und des Eintrittspunkts der Anfrage ins Netzwerk aus. Eine DNS-basierte Auswahl sieht in der Regel die Adresse des rekursiven Resolvers des Nutzers. Wie RFC 7871 festhält, kann dieser bei Verwendung eines zentralisierten Resolvers weit vom Nutzer entfernt sein. Eine Anfrage kann daher in einer anderen Stadt oder einem anderen Land als erwartet ankommen. Zwei Nutzer am selben Ort können über unterschiedliche Netzwerke verschiedene Edge-Knoten erreichen.
  2. Ein Cache-Miss am Edge-Knoten führt nicht immer zu einer Anfrage an den Origin-Server. Edge-Standorte von CloudFront fragen in der Regel vor dem Origin-Server einen regionalen Edge-Cache an; Origin Shield fügt eine weitere Ebene hinzu. Bei Tiered Cache von Cloudflare dürfen nur Rechenzentren der oberen Ebene den Origin-Server kontaktieren. Das Shielding von Fastly bündelt Anfragen über einen festgelegten Shield-Standort. Diese Ebenen greifen nur unter bestimmten Bedingungen. Origin Shield, Tiered Cache und Shielding müssen aktiviert sein. CloudFront leitet dynamische Anfragen und Methoden wie POST an den regionalen Edge-Caches vorbei. Laut AWS bleibt ein aktiviertes Origin Shield jedoch auch bei dynamischen Anfragen im Anfragepfad. Cloudflare wendet Tiered Cache nur auf Anfragen an, die zum Anfragezeitpunkt für das Caching infrage kommen. Durchläuft eine Anfrage eine obere Ebene, sieht der Origin-Server diese Ebene und nicht den Edge-Knoten, den der Zuschauer erreicht hat. Die Protokolle des Origin-Servers allein zeigen daher nicht, welcher Edge-Knoten einen Zuschauer bedient hat. Bei Cloudflare bezeichnet beispielsweise der an den Origin-Server gesendete Wert Cf-Ray dann das Rechenzentrum, das die Verbindung zum Origin-Server hergestellt hat.
  3. Antwort-Header und Protokolle können zeigen, welcher Edge-Knoten geantwortet hat und ob ein Cache-Treffer vorlag. Die Namen sind jedoch anbieterspezifisch. Der Antwort-Header Cf-Ray von Cloudflare endet mit einem dreibuchstabigen Rechenzentrumscode, und CF-Cache-Status gibt das Cache-Ergebnis an. Bei Fastly nennt X-Served-By die Cache-Server, und X-Cache meldet HIT oder MISS. Bei aktiviertem Shielding enthält die übliche Antwort zwei Einträge: zuerst den Shield-Standort, dann den Edge-Knoten, der den Zuschauer bedient. Bei einem Cache-Treffer am Edge-Knoten stammt der Shield-Eintrag vom Zeitpunkt der ersten Zwischenspeicherung des Objekts, nicht von der aktuellen Anfrage. Die Protokolle von CloudFront erfassen x-edge-location und x-edge-result-type. Der optionale Antwort-Header Server-Timing enthält cdn-pop und ein Cache-Ergebnis: cdn-cache-hit, cdn-cache-miss oder cdn-cache-refresh (eine zwischengespeicherte Kopie, die ausgeliefert wird, nachdem CloudFront beim Origin-Server ihre weitere Gültigkeit bestätigt hat). Auch die Bedeutungen unterscheiden sich: Fastly meldet eine Weiterleitung ohne Cache-Nutzung als MISS. Cloudflare weist darauf hin, dass bei Tiered Cache der Wert Age eines lokalen Treffers von einer oberen Ebene übernommen werden kann. RFC 9211 definiert dafür einen einheitlichen Header Cache-Status, doch jeder Cache entscheidet selbst, ob er ihn sendet. Vereinheitlichen Sie die Angaben daher vor einem Vergleich für jeden Anbieter.
  4. Jeder Standort hat eigene Cache-Inhalte und nach einer Änderung möglicherweise vorübergehend eine eigene Konfiguration. Ein Objekt wird dem Cache des Standorts hinzugefügt, der die Anfrage bedient hat. Ein Standort kann weniger gefragte Objekte früher aus dem Cache entfernen als ein anderer. Frische und Konfiguration sind voneinander unabhängig: HTTP-Caching erlaubt es einem Cache, aus einer gespeicherten Kopie zu antworten, die noch frisch ist, ohne den Origin-Server zu kontaktieren. Ändert sich eine Datei am Origin-Server, kann ein Standort daher die ältere Kopie weiter ausliefern, bis sie abläuft oder invalidiert wird. Die Cache-Inhalte müssen zwischen Standorten nicht übereinstimmen. Laut CloudFront erreichen Konfigurationsänderungen nicht alle Edge-Standorte gleichzeitig. Während der Verteilung lässt sich nicht feststellen, ob ein bestimmter Standort die vorherige oder die neue Konfiguration verwendet. Ein Test von einem Standort aus zeigt daher nicht, was ein anderer Standort ausliefert.

Wann CDN-Edge-Server wichtig sind

Untersuchen Sie das Verhalten der Edge-Knoten, wenn Nutzer in einer Region Latenzen, Cache-Misses oder uneinheitliche Antworten erleben. Ergebnisse können je nach Standort abweichen, weil Routing, Cache-Zustand und die Verteilung der Konfiguration variieren.

So hilft Transloadit bei CDN-Edge-Servern

Transloadits Smart CDN liefert zwischengespeicherte Ergebnisse von Edge-Standorten mithilfe des Robots /tlcdn/deliver aus, der bei Anfragen an die Domain tlcdn.com implizit verwendet wird. Bei einem Cache-Treffer antwortet der Edge-Knoten, ohne das Template auszuführen. Bei einem Cache-Miss wird zuerst die Assembly für das Template ausgeführt. Daher umfasst die erste Anfrage für eine URL, die noch nicht im Cache liegt, die Zeit für den Abruf der Quelldaten und die Verarbeitung.

Die verlinkten Seiten listen weder Edge-Standorte auf noch nennen sie die Antwort-Header, die den ausliefernden Edge-Knoten oder seinen Cache-Status identifizieren.

Entdecken Sie Transloadits Möglichkeiten zur Auslieferung

Quellen

Machen Sie aus Medienwissen eine funktionierende Pipeline

Verbinden Sie Uploads, Verarbeitung, KI, Storage und Auslieferung über eine deklarative API – um Encoding-Stack, Skalierung und ständig wechselnde Formate müssen Sie sich nicht selbst kümmern.

Transloadit kostenlos ausprobieren