![Kann Varnish von einem Port aus bedienen und die Anforderung auf einen anderen Port klonen?](https://rvso.com/image/769310/Kann%20Varnish%20von%20einem%20Port%20aus%20bedienen%20und%20die%20Anforderung%20auf%20einen%20anderen%20Port%20klonen%3F.png)
Ich muss bei meiner aktuellen Bereitstellung ein Problem lösen. Die aktuelle Bereitstellung sieht folgendermaßen aus.
Varnish auf Port 80 vor Nginx auf Port 8000, unterstützt von uWSGI
Das Problem hier ist, dass der Kunde einige interne Analysen implementieren möchte, die für die Geschäftslogik erforderlich sind, die in Python implementiert und mit uWSGI bereitgestellt wird. Die meisten Varnish-Treffer werden nicht gezählt (Treffer sind anonym). Es wurden zwei Lösungen vorgeschlagen.
- Von Clients aus auf einen nicht zwischengespeicherten Server zugreifen (hier handelt es sich bei den Clients um Android-Geräte. Zwei Anfragen pro Anfrage sind im Hinblick auf den Batterieverbrauch sehr kostspielig
- Leiten Sie die Anfragen bei Varnish per Proxy oder Klon an einen anderen Server weiter, wo der Analyseserver die Anfrage aufnehmen kann. Kann mit UDP erfolgen.
Ist die zweite Lösung relevant? Ist das möglich? Und wenn ja, wie kann man das machen?
Antwort1
vmod_curl
Es ist möglich, eine zusätzliche Anfrage an einen externen Endpunkt zu senden. Ich würde Ihnen empfehlen, dies über zu tun vmod_curl
, ein cURL
Modul für Varnish.
Sehenhttps://github.com/varnish/libvmod-curlfür mehr Informationen.
Das Senden eines zusätzlichen Anrufs für jede eingehende Anfrage kann jedoch eine erhebliche Belastung für Ihr Analysesystem darstellen. Der Grund, warum Sie Varnish wahrscheinlich verwenden, besteht darin, eine Überlastung Ihrer Ursprungssysteme zu vermeiden.
Protokollierungs- und Statistiktools von Varnish
Und wenn es um Analysen geht, sind die von Varnish bereitgestellten Tools unübertroffen.
Hier sind einige Referenzen zu den Protokollierungs- und Statistiktools von Varnish:
- http://varnish-cache.org/docs/6.0/reference/varnishlog.html
- http://varnish-cache.org/docs/6.0/reference/varnishncsa.html
- http://varnish-cache.org/docs/6.0/reference/varnishstat.html
- http://varnish-cache.org/docs/6.0/reference/varnishtop.html
Die Protokollierungstools ( varnishlog
, varnishtop
& varnishncsa
) basieren auf VSL, hier also einige VSL-Referenzen:
- http://varnish-cache.org/docs/6.0/reference/vsl.html
- http://varnish-cache.org/docs/6.0/reference/vsl-query.html
Und abschließend noch ein Verweis auf die von folgenden Elementen verwendeten Zähler varnishstat
:http://varnish-cache.org/docs/6.0/reference/varnish-counters.html