Varnish in fünf Akten
Kommentare

Varnish ist eine ziemlich elegante Lösung, will man seiner Website Flügel verleihen. Das Cache-System bedarf allerdings einiger Konfiguration, bevor der Reverse HTTP-Proxy tut, was er soll. Sean T Allen,

Varnish ist eine ziemlich elegante Lösung, will man seiner Website Flügel verleihen. Das Cache-System bedarf allerdings einiger Konfiguration, bevor der Reverse HTTP-Proxy tut, was er soll. Sean T Allen, IT-Architekt beim Recruitung-Portal TheLadders, fasst die wichtigsten fünf Schritte zusammen, die er bei der Konfiguration eines Varnish-basierten Caching-Systems abarbeitet.

Akt 1: Die Dienste

TheLadders nutzt für jeden seiner Dienste je eine separate Varnish-Instanz. Vorherige Versuche, Caching in die Java-Logik zu implementieren, sind an Konflikten mit dem Speicher-Management gescheitert. Code-externe Lösungen halfen hier bei der Trennung der Aufgaben.

Akt 2: Die Architektur

Auf Varnish wird über einen Load Balancer zugegriffen. Auf diese Art weicht das System sicher auf das ungepufferte Backend aus, falls Varnish ausfallen sollte und (eingeschränkt auch) vice versa.

Akt 3: Aufhebung

Entweder über den Header oder eigene Scripte können bestimmte Inhalte aus dem Cache für nichtig erklärt weden, damit der Client keine alten Daten angeliefert bekommt. Möglich wäre ein Skript, das Datenbank-Logs ausliest, und bei Änderungen in bestimmten Zeilen anhand des Primärschlüssels einen Invalidation-Request an Varnish schickt. Dieser sollte nur durch eine begrenzte Zahl von IP-Adressen ermöglicht werden.

Akt 4: Konfiguration

Um den Cache, wie oben schon angedeutet, bei Ausfällen auch als zweites Standbein nutzen zu können, bedarf es eines entspechend eingerichteten Load Balancers. Dieser kann im „Degraded“-Modus das System auch dann noch am Leben erhalten, wenn das Backend keine HTTP 200 Response mehr schickt. Besonders geschickt ist es hier, wenn man Varnish erklärt, dass es in einem solchen Fall die Time-To-Live verlängern soll. Desto länger können Eure Clients zumindest die häufigsten Aufrufe Eures Services noch weiternutzen.

Akt 5: Finale

All dies lässt sich in einem einzelnen File ablegen. Wer sich die Schreibarbeit ersparen möchte, kann Allens oben erläuterte Konfiguration 1:1 kopieren.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -