바니시는 포트에서 제공되고 요청을 다른 포트로 복제할 수 있습니까?

바니시는 포트에서 제공되고 요청을 다른 포트로 복제할 수 있습니까?

현재 배포에서 해결해야 할 문제가 있습니다. 현재 모습은 이렇습니다.

uWSGI가 지원하는 포트 8000의 Nginx 앞 포트 80에서 광택 처리

여기서 문제는 클라이언트가 uWSGI와 함께 제공되는 Python으로 구현된 비즈니스 로직에 필요한 일부 내부 분석을 구현하기를 원한다는 것입니다. 대부분의 바니시 히트는 계산되지 않습니다(히트는 익명입니다). 두 가지 해결책이 나왔습니다.

  1. 클라이언트에서 캐시되지 않은 서버에 접속합니다(여기서 클라이언트는 Android 장치입니다. 요청당 두 개의 요청은 배터리 사용량 측면에서 매우 비용이 많이 듭니다)
  2. 분석 서버가 ​​요청을 수집할 수 있는 다른 서버로 바니시 요청을 프록시하거나 복제합니다. UDP를 사용할 수 있습니다.

두 번째 솔루션이 관련이 있습니까? 이것이 가능합니까? 그렇다면 어떻게 누군가가 이것을 할 수 있습니까?

답변1

vmod_curl

외부 엔드포인트에 추가 요청을 보낼 수 있습니다. Varnish용 모듈인 을 vmod_curl통해 이 작업을 수행하는 것이 좋습니다 .cURL

보다https://github.com/varnish/libvmod-curl자세한 내용은.

그러나 들어오는 모든 요청에 ​​대해 추가 호출을 보내는 것은 분석 시스템에 상당한 부담을 줄 수 있습니다. 아마도 Varnish를 사용하는 이유는 원본 시스템이 과부하되는 것을 방지하기 위한 것입니다.

Varnish의 로깅 및 통계 도구

그리고 분석과 관련하여 Varnish가 제공하는 도구는 누구에게도 뒤지지 않습니다.

다음은 Varnish의 로깅 및 통계 도구에 관한 몇 가지 참고 자료입니다.

로깅( varnishlog, varnishtop& varnishncsa) 도구는 VSL을 기반으로 하므로 다음은 몇 가지 VSL 참조입니다.

마지막으로 다음은 다음에서 사용되는 카운터에 대한 참조입니다 varnishstat.http://varnish-cache.org/docs/6.0/reference/varnish-counters.html

관련 정보