Wie funktioniert ein CDN wie CloudFlare?

23

Was ich bisher verstehe:

  • Sie behalten Ihr aktuelles Webhosting bei, ändern jedoch die DNS-Server für Ihre Site von den DNS-Servern Ihres aktuellen Hostings auf die DNS-Server von CloudFlare.
  • CloudFlare bedient die Ressourcen Ihrer Website von mehreren Rechenzentren auf der ganzen Welt aus.

Nun möchte ich die technischen Details dieses Mechanismus kennen. Hier sind einige der Fragen, die ich habe:

  1. Dient CloudFlare als Cache-Proxy? Angenommen, ich habe eine Reihe von Bildern auf den Seiten meiner Website. Zwischenspeichert CloudFlare alle diese Bilder in jedem ihrer Rechenzentren und stellt sie dann von diesen Rechenzentren aus bereit?

  2. Welche Site-Ressourcen sind betroffen? Nur statische? Was ist mit den Webseiten selbst (den HTML-Dokumenten)? Was ist, wenn die Seiten dynamisch von meinem Server generiert werden? Wie stellt CloudFlare sicher, dass immer die aktuellste Version der Seite bereitgestellt wird?

  3. Was ist mit POST-Anfragen an meine Site (z. B. wenn ein Besucher Daten über Ajax hochlädt, die dann in der Datenbank gespeichert werden)? Dieses Zeug muss auf meinem Server ausgeführt werden. CloudFlare erhöht die Leistung dieses Prozesses also nicht (und kann es auch nicht), oder? Also leitet CloudFlare die Ajax-Anfrage nur an den ursprünglichen Webhost weiter?

Šime Vidas
quelle

Antworten:

23
  1. Ja, es ist ein Caching-Reverse-Proxy.
  2. "Es hängt davon ab, ob". Standardmäßig werden nur Bilder und CSS zwischengespeichert. Sie können jedoch die Cache-Ebene pro Zone festlegen und Seitenregeln festlegen, um zu überschreiben, was zwischengespeichert wird oder nicht zwischengespeichert werden soll. Statisches HTML kann durch eine Seitenregel zwangsweise zwischengespeichert werden, dynamischer Inhalt jedoch offensichtlich nicht. Die Ausnahme ist, wenn Sie den Business- oder Enterprise-Plan haben oder sich über bestimmte Hosting-Partner anmelden, um Zugriff auf die Railgun-Technologie zu erhalten, bei der CloudFlare nur die Informationen abruft, die sich auf einer Seite geändert haben, auch wenn sie dynamisch sind. Wenn Sie CloudFlare so eingestellt haben, dass alles zwischengespeichert wird, müssen Sie das Cache-Timeout entweder mit Cache-Headern am Ursprung steuern und / oder die Cache-TTL in Ihrer Zone in der CloudFlare-Benutzeroberfläche festlegen.
  3. POSTs müssen immer an den Ursprung gesendet werden, damit CloudFlare sie direkt weiterleitet. Sie sollten dennoch eine Leistungssteigerung erzielen, da CloudFlare Anycast verwendet, um DNS und HTTP vom nächstgelegenen Rechenzentrum aus bereitzustellen.

Vollständige Offenlegung: Ich arbeite für CloudFlare.

James O'Gorman
quelle
5

Nur um etwas mehr Klarheit zu schaffen:

Es gibt einen ziemlich guten Artikel über Quora über die Funktionsweise von CloudFlare .

Welche Site-Ressourcen sind betroffen? Nur statische? Welche CloudFlare standardmäßig zwischenspeichert .

"Dient CloudFlare als Cache-Proxy? Angenommen, ich habe eine Reihe von Bildern auf den Seiten meiner Website. Zwischenspeichert CloudFlare alle diese Bilder in jedem ihrer Rechenzentren und stellt sie dann von diesen Rechenzentren aus bereit?"

Mit PageRules können Sie unser Caching über statische Inhalte hinaus erweitern.

Hinweis: Es werden keine Ressourcen von Drittanbietern zwischengespeichert, die sich auf Ihrer Website befinden (Flickr, Google, Facebook usw.).

damoncloudflare
quelle
1

So fügen Sie Damons Antwort hinzu:

Hier finden Sie einige hilfreiche Video-Tutorials zum Einrichten der beliebtesten / empfohlenen Seitenregeln mit CloudFlare:

cloudflare.com/features-page-rules

Wenn Sie in Ihrem aktuellen Plan die verfügbaren Seitenregeln ausgeschöpft haben, können Sie in Kürze weitere Regeln erwerben, ohne die Pläne zu ändern.

RyanK
quelle