Lack gegen andere Reverse-Proxys


13

Ich arbeite mit einer Organisation zusammen, die Varnish als Caching-Reverse-Proxy für den gesamten Webdatenverkehr eingesetzt hat. Ihr Traffic besteht aus vielen von Kunden generierten dynamischen Websites, wobei die übliche Sammlung statischer Assets von der Seite hängt.

Ich versuche zwar, Lack zu mögen (ich denke, er hat im Prinzip eine ziemlich gute Architektur), aber ich habe einige Probleme, ihn zu verwalten und auftretende Probleme zu beheben. Ich frage mich daher, ob es wirklich die richtige Wahl ist. Ich habe in der Vergangenheit Squid als Reverse-Proxy verwendet, aber nicht in der gleichen Rolle, sodass ich keine klare Vergleichsbasis habe.

Meine Frage richtet sich an Personen, die Lacke in der Produktion eingesetzt oder ernsthaft anhand der Alternativen bewertet haben: Sind Sie bei Lack geblieben oder haben Sie einen anderen Reverse-Proxy verwendet? Was waren Ihre wichtigsten Gründe, um dabei zu bleiben oder zu wechseln, und wenn Sie etwas anderes verwendet haben, was haben Sie letztendlich verwendet?


6
Lack ist wahrscheinlich die beste Lösung. Mein Rat ist, sich den Mailinglisten anzuschließen und sich mit dem Produkt zu befassen, da Sie wahrscheinlich deren Hilfe benötigen, wenn Sie auf Probleme stoßen. Wenn Sie sich ihre Website ansehen, sehen Sie, dass sie eine kostenpflichtige Support-Option anbieten, an der Sie vielleicht interessiert sind
Dave Cheney

Antworten:


9

Nun, ich verwende Varnish auf meinen Webservern, hauptsächlich aus Gründen der Leistung, obwohl die Lastausgleichsfunktionen ebenfalls nützlich sind.

Mein Anwendungsfall ist das Cachen vor Django- basierten Websites, und es wirkt sich positiv auf die Leistung beim Laden von Seiten aus. Ich bin in der Lage, die meisten Seiten direkt aus dem Cache zu bedienen und eine Flut von Besuchern mit wenig Aufwand zu bewältigen.

Der Grund, warum ich mich für Varnish entschieden habe, war hauptsächlich die Leistung / Skalierbarkeit. Die Haupt-Punkte:

  • Mit Varnish kann der Kernel den virtuellen Speicher verwalten, in dem Squid versucht, Festplatten- und Speicher-Caches zu trennen. Dies kann dazu führen, dass der Kernel und Squid sich ein wenig darüber streiten, was auf die Festplatte ausgelagert werden soll.
  • Varnish verwendet VCL, eine eigene domänenspezifische Konfigurationssprache, die über C bis zum Maschinencode kompiliert wird. Dies ist ein sehr realer Leistungsvorteil, wenn Ihre Konfiguration mehr als ein wenig Logik enthält - bedingtes Entfernen von Headern usw.

Meiner Erfahrung nach schneidet Varnish in den meisten Fällen etwas besser ab als Squid, und viel besser bei Verkehrsspitzen. Auf der anderen Seite erfordert die korrekte Konfiguration von Varnish einige Mailinglisten-Suchvorgänge, da nicht so viele einsatzbereite Dokumentationen für Ihre spezifischen Anwendungsfälle im Internet verfügbar sind, wie es derzeit gibt für Squid - hauptsächlich, weil Varnish im Vergleich dazu ein relativ junges Projekt ist.


0

Ich habe lange Zeit versucht, Varnish 1.x stabil auf Linux- / Dell-Standardhardware zu machen. Es hing immer auf seltsame Weise und sein Watchdog startete es neu. Was in Ordnung war, bis auf den hart erkämpften Cache, der nirgendwo anders aufrechterhalten wurde ...

Verwenden Sie jedoch wirklich das richtige Werkzeug für diesen Job? Wenn Sie einen Reverse - Proxy mögen, werden zwischengespeichert , die Ergebnisse der Anfrage (vorausgesetzt , Sie gute Qualität Cache - Header bereitstellen) , dann Lack eine gute Option ist. Hoffentlich ist es in Version 2.0 stabiler geworden

Wenn Sie jedoch eine * onRails-Site ausführen und den Lastenausgleich über mehrere Back-End-Server durchführen möchten, sind HAProxy oder Nginx möglicherweise die richtige Wahl. Wenn Sie keine komplizierte URL-Logik benötigen (Weiterleitungen, Regex-Übereinstimmungen zum Umschreiben älterer URLs usw.), ist HAProxy genau das Richtige für Sie. Wenn Sie etwas Besseres brauchen, probieren Sie Nginx aus.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.