Vor- und Nachteile eines `.port`-Backends gegenüber einem `.host`-Backend in Varnish

Vor- und Nachteile eines `.port`-Backends gegenüber einem `.host`-Backend in Varnish

Bei der Arbeit haben wir einen Varnish-Cluster. Alle Remote-Backends verwenden den .hostWert (von dem ich annehme, dass er erforderlich ist), aber alle Konfigurationen für das lokale Backend, d. h. das Backend, das auf dem Server läuft, auf dem sich die Konfiguration/Varnishd befindet, verwenden den .pathWert. Heute Morgen hatte ich ein Problem mit einem der Varnish-Server, im Grunde .pathexistierte der Socket, auf den verwiesen wurde, nicht und ließ sich daher nicht starten. Ich habe verschiedene Möglichkeiten ausprobiert, um den Socket wieder zum Laufen zu bringen, aber nachdem nichts davon funktionierte, habe ich die Varnish-Konfiguration so umgestellt, dass sie .backendstattdessen den Wert verwendet. Ich sehe darin einen Vorteil, da ich jetzt problemlos eine zentralisierte Varnish-Konfiguration verwalten kann, ohne mir Gedanken darüber machen zu müssen, jede Konfiguration für jeden Server einzeln zu kompilieren (d. h. die .hostZeile aus dem Backend zu entfernen, die dem jeweiligen Server entspricht).

Gibt es erhebliche Vorteile bei der Verwendung eines Sockets zur Verbindung mit dem lokalen Varnish-Cluster (mithilfe von Hitch zur SSL-Terminierung, falls dies ein Faktor ist)? Wenn alle anderen Bedingungen gleich sind, halte ich den Verwendungswert .hostfür die bessere Option, da er das Übertragen von Konfigurationsaktualisierungen wesentlich einfacher macht.

Antwort1

Die Verwendung .pathfür Unix Domain Sockets ist viel schneller als die Verwendung von .hostund .portfür TCP/IP-Verbindungen.

Wenn der Durchsatz ein Problem darstellt, verwenden Sie bitte Unix Domain Sockets, da Sie einen höheren Durchsatz erzielen (> 100 Gbit/s über TLS).

Wenn ein hoher Durchsatz nicht so wichtig ist, können Sie TCP/IP verwenden, für das kein UDS erforderlich ist.

Für UDS sind Berechtigungen wichtig. Stellen Sie daher sicher, dass sowohl Varnish als auch Hitch über die richtigen Berechtigungen für den Zugriff auf den Socket verfügen. Varnish erstellt den Socket und Hitch verwendet ihn.

verwandte Informationen