Content Delivery Network
Ein Content Delivery Network (CDN), oder auch Content Distribution Network genannt, ist ein Netz regional verteilter und über das Internet verbundener Server, mit dem Inhalte – insbesondere große Mediendateien – ausgeliefert werden. Ein CDN stellt skalierende Speicher- und Auslieferungskapazitäten zur Verfügung und gewährleistet auch bei großen Lastspitzen einen optimalen Datendurchsatz.
CDN-Knoten sind auf viele Orte verteilt und oft auch auf viele Backbones. Sie arbeiten zusammen, um Anfragen (Requests) von End-Nutzern nach Inhalten (Content) möglichst ökonomisch zu bedienen. Einzelne Standorte werden als PoP (Point of Presence) bezeichnet und bestehen aus Server-Clustern.
Im Hintergrund (Transparent) werden die Daten im Netz so vorgehalten (Caching), dass die jeweilige Auslieferung entweder möglichst schnell geht (Performance-Optimierung) oder möglichst wenig Bandbreite verbraucht (Kosten-Optimierung), oder beides zugleich.
Große CDNs unterhalten tausende Knoten mit zehntausenden Servern.
Funktionsweise
Das CDN besteht zunächst aus einem Ursprungsserver, auf dem der Inhalteanbieter die zu verteilenden Inhalte ablegt, einer großen Zahl an Replica-Servern, die Kopien dieser Inhalte vorhalten, und einem Distributionssystem, das die Inhalte auf den Replica-Servern verteilt. Für die Umleitung der Benutzeranfragen auf die einzelnen Replica-Server ist ein Request-Routing-System zuständig, welches sich dabei auf verschiedene Kennzahlen über diese Server stützt, die ihm vom Accounting-System geliefert werden.
Sendet ein Client eine Anfrage an das CDN, dann wählt das Request-Routing-System einen geeigneten Replica-Server. Bei der Auswahl bezieht es Kennzahlen über deren aktuelle Belastung (zum Beispiel CPU-Auslastung, Anzahl der aktiven Verbindungen) und über die Netzwerkverbindung zwischen Client und Server (zum Beispiel geographische Entfernung, Latenzzeit, Übertragungsrate), seltener über die Identität des Clients (zum Beispiel Unterscheidung zwischen Standard- und Premium-User) mit ein, die ihm durch das Accounting-System zur Verfügung gestellt werden.
Nach Auswahl des Servers muss die Benutzeranfrage nun umgeleitet werden. Das am häufigsten eingesetzte Verfahren dafür ist DNS-basiertes Request Routing. Dabei werden Anfragen des Clients an einen vom CDN bereitgestellten DNS-Server weitergeleitet, der die IP-Adresse des Replica-Servers zurückgibt. Alternativ dazu kann auch ein HTTP-Statuscode 302 die Weiterleitung auf einen anderen Webserver veranlassen.
Auswahl von CDN-Anbietern
Open-Source-Software und freie Service-Anbieter
MirrorBrain ist eine freie HTTP-Server-Software für Linux zum Betrieb eines CDN.
Die Inhalte von freien JavaScript-, CSS-Frameworks oder freie Iconsets werden von verschiedenen CDN-Anbietern zum freien und erlaubten Hotlinking angeboten. Google Hosted Libraries bietet bekannte Bibliotheken wie jQuery, jQuery UI, AngularJS oder Dojo Toolkit an.[1] Andere Anbieter wie Jsdelivr[2] oder cdnjs[3] bieten zusätzlich zahlreiche weitere, kleinere Bibliotheken an. Wobei Jsdelivr auch das Zusammenfassen zu einem HTTP-Request ermöglicht.[4]
Siehe auch
- Lastverteilung (auch load balancing genannt)
- Teilstreckenverfahren
Einzelnachweise
- Hosted Libraries. Abgerufen am 13. November 2021 (englisch).
- jsDelivr - A free, fast, and reliable CDN for Open Source. Abgerufen am 13. November 2021 (englisch).
- About Us - cdnjs - The #1 free and open source CDN built to make life easier for developers. Abgerufen am 13. November 2021 (englisch).
- jsDelivr - Open Source CDN. jsDelivr, 12. November 2021, abgerufen am 13. November 2021.