
Мне нужно решить проблему в моем текущем развертывании. Текущее выглядит так.
Varnish на порту 80 перед Nginx на порту 8000 с поддержкой uWSGI
Проблема в том, что клиент хочет реализовать некоторую внутреннюю аналитику, которая требуется для бизнес-логики, реализованную на Python, обслуживаемую uWSGI. Большинство обращений к Varnish остались неучтенными (обращения анонимны). Было предложено два решения.
- Обращение клиентов к некэшированному серверу (здесь клиентами являются устройства Android). Два запроса на запрос очень затратны с точки зрения использования батареи.
- Проксируйте или клонируйте запросы на Varnish на другой сервер, где сервер аналитики может принять запрос. Может быть с UDP.
Актуально ли 2-е решение? Возможно ли это сделать? Если да, то как это можно сделать?
решение1
vmod_curl
Можно отправить дополнительный запрос на внешнюю конечную точку. Я бы посоветовал вам сделать это через vmod_curl
, cURL
модуль для Varnish.
Видетьhttps://github.com/varnish/libvmod-curlЧтобы получить больше информации.
Однако отправка дополнительного вызова для каждого входящего запроса может быть довольно обременительной для вашей аналитической системы. Причина, по которой вы, вероятно, используете Varnish, заключается в том, чтобы избежать перегрузки ваших исходных систем.
Инструменты Varnish для ведения журнала и статистики
А когда дело доходит до аналитики, инструменты, предоставляемые Varnish, не имеют себе равных.
Вот несколько ссылок на инструменты 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
Инструменты ведения журнала ( varnishlog
, varnishtop
& varnishncsa
) основаны на VSL, поэтому вот некоторые ссылки на VSL:
- http://varnish-cache.org/docs/6.0/reference/vsl.html
- http://varnish-cache.org/docs/6.0/reference/vsl-query.html
И наконец, вот ссылка на счетчики, которые используются varnishstat
:http://varnish-cache.org/docs/6.0/reference/varnish-counters.html