Montag, 8. Oktober 2012

Web Content Caching Explained


Das Minenfeld, das Web-Content-Caching ist kann verwirrend und kompliziert!

Es ist eine jener Funktionen, die wirklich sitzt zwischen dem Netzwerk und der Anwendung. In vielen Unternehmen diese Grauzone hat keine wirkliche Eigentümer und als solche Fehler oft gemacht.

Ich möchte ein wenig Zeit, um zu erkunden und hoffentlich vereinfachen diese komplexe Thematik zu nehmen.

Also erstens muss man die Frage, was ist ein Content-Cache und warum Mühe es zu benutzen?

Ein Gehalt Cache ist eine Software oder Gerätes ausgelegt, um vor dem Anwendungsserver zu sitzen. Seine Aufgabe ist es, bestimmte Zugriffe abfangen und reagieren im Namen der Anwendung wodurch die Anzahl der Treffer an die Backend trennt.

Typischerweise werden die Anforderungen, die abgefangen wurden bereits zuvor gesehen, so dass der Cache Antworten auf diese Anfragen zu speichern und wenn es ein ähnliches abfängt Anfrage es in gleicher Weise reagieren kann.

Ein einfaches Beispiel wäre ein Bild Cache. Der Client (dh Browser) würde eine Antwort an den Web-Server für ein Bild. Das erste Mal dieses Bild den Cache angefordert wird, müssen Sie es aus dem Web-Server jedoch erhalten für nachfolgende Anforderungen wird es einfach servieren es direkt.

Die Idee ist, dass der Web-Server wird viel weniger Arbeit zu tun, wie der Cache viel von den Inhalten dienen kann. Die Folgen davon wirklich auf den genauen Aufbau, Anwendungen und Inhalten aber sie typischerweise in den folgenden passen abhängen:

Ein. Last reduzieren auf den Web / Application Server - Speichern auf dem Applikationsserver Hardware und Lizenzkosten.

2. Last reduzieren auf Middleware und Backed DB-Systeme.

3. Servieren Sie die Inhalte schneller - Caches kann sehr schnell!

4. Zwischenspeichern der Inhalte näher an Ihre Benutzer. Dies ist eine interessante Geschichte. Der Cache muss nicht immer an der gleichen Stelle wie der Rest des Systems sein. Sie könnten einen guten Cache um Ihre eigene einfache Content Distribution System zu bauen, um sicherzustellen, dass Ihre Benutzer erhalten den Inhalt von einer Quelle, um sie so nah wie möglich. Wer hat gesagt, dass ein CDN (Content Distribution Network) die Welt kosten muss!

OK, so dass Sie sich entschieden haben, dass Sie möchten, um einen Cache zu verwenden, so was kommt danach? Das größte Problem mit Content-Caching ist einfach zu entscheiden, was und wie lange Sie wollen, um Inhalte für zwischenzuspeichern. Es klingt einfach, aber Unvermögen, dies in der Vergangenheit zu tun hat vielen ein Netzwerk-Manager / application Eigentümer eine echte Angst Caching. Sie wollen nicht ein Benutzer immer den Kontostand des vorherigen Benutzers!

Allerdings, um wirklich das Beste aus den Möglichkeiten, die ein modernes Content-Cache bieten wir müssen das ganze Bild zu verstehen. Das Verhalten von Anwendungen, die Cache-Setup und das Browser-Verhalten.

Lassen Sie uns einen kurzen Blick auf typischerweise was passiert, wenn ein Bild von einem Web-Server von einem Browser angefordert wird passiert.

Ein. Der Benutzer fordert ein Bild zu betrachten.

2. Der Cache wird feststellen, dass es nicht diese Anfrage vor und sehen daher wird es vom Web-Server anzufordern.

3. Der Web-Server erhalten Sie das Bild und schicken Sie es zurück in den Cache.

Wichtig. Der Web-Server entscheidet, wenn dieses Bild zwischengespeichert werden kann oder nicht. Es wird instruieren die vorgeschalteten Geräten wie dem Cache und letztlich auch der Kunde, wenn er zwischengespeichert werden sollen oder nicht. Er tut dies, indem spezifische HTTP-Header. (Ich will nicht Aussenseiter heraus, die in diesem Artikel, wie es bekommen kann übermäßig komplex.)

4. Jetzt wird es interessant, weil der Cache müssen auf welche Art und Weise zu gehen entscheiden. Ist es gehorchen den Regeln aus dem Web-Server oder ist es überschreiben es mit seinen eigenen Regeln? Wir werden das später diskutieren.

5. So wird das Bild jetzt wieder an den Client gesendet, und nur um die Dinge der Client auch zwischengespeichert werden die Inhalte erschweren und auch Ausschau nach dem Cache Control-Header.

So können wir sehen, dass wir nicht nur auf die Anwendung Caching-Regeln zu entscheiden haben, sondern auch, wie wir den Cache vor verhalten soll. Wenn wir das richtig machen können wir auch die Zahl der Zugriffe Erreichen des Cache und damit Netzwerk in den ersten Platz.

So, jetzt haben wir eine ungefähre Vorstellung von dem, was vor sich geht, so wie wir einen Cache implementieren?

Ein allgemeines Verfahren ist in "Licht" näher beschrieben.

Ein. Entscheiden Sie, was Sie Cache möchten und für wie lange -. Also habe ich alle Bilder für 24 Stunden oder alle * zwischenspeichern wollen für 2 Sekunden usw. Diese kompliziert kann asp.

2. Seien Sie sicher, dass Sie zufrieden sind mit diesen Regeln.

3. Nun noch einmal.

4. Konfigurieren Sie den Cache, um alle Cache-Control-Header aus der Antwort vom Web-Server zu entfernen. In anderen Worten: Ignorieren Sie alle Caching-Steuerung Setup auf dem Webserver - Wir übernehmen wir wissen, wie genauere Regeln erstellen.

5. Konfigurieren Sie den Cache mit diesen neuen Regeln und auch Verfallsdaten / Dauer.

6. Konfigurieren Sie den Cache, um einige neue Cache-Steuerungen für den Kunden hinzuzufügen. Client-Seite Cache-Steuerung ist zäh wie Browser respektieren diese Regeln mit unterschiedlichem Erfolg. Das ist nicht wirklich in den Rahmen dieses Papiers, aber ich kann es ansehen.

7. Document - Diese Regeln können sehr komplex sein und kann es sich zu sprechen Menschen in verschiedenen Teilen des Unternehmens, um die Anwendung zu verstehen, daher lohnt es sich zu dokumentieren diese Informationen, während es frisch ist.

8. Testen und nochmals testen - Je mehr Tests, desto besser. Angemeldet Teil des Testens ist die manuelle Leeren Sie den Content-Cache-Cache, sondern auch die Kunden zu.

Das war es für heute Leute.

Ich schreibe ein Follow-up auf dieser Reden in ein wenig mehr Details über typische Cache-Einstellungen und auch dazu beitragen, Fragen zu beantworten wie ', wird ein Cache keine Hilfe für meine Anwendung sein, und wenn ja, welche Art von Cache sollte ich auf zu suchen ?

Keine Kommentare:

Kommentar veröffentlichen