![바니시는 포트에서 제공되고 요청을 다른 포트로 복제할 수 있습니까?](https://rvso.com/image/769310/%EB%B0%94%EB%8B%88%EC%8B%9C%EB%8A%94%20%ED%8F%AC%ED%8A%B8%EC%97%90%EC%84%9C%20%EC%A0%9C%EA%B3%B5%EB%90%98%EA%B3%A0%20%EC%9A%94%EC%B2%AD%EC%9D%84%20%EB%8B%A4%EB%A5%B8%20%ED%8F%AC%ED%8A%B8%EB%A1%9C%20%EB%B3%B5%EC%A0%9C%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
현재 배포에서 해결해야 할 문제가 있습니다. 현재 모습은 이렇습니다.
uWSGI가 지원하는 포트 8000의 Nginx 앞 포트 80에서 광택 처리
여기서 문제는 클라이언트가 uWSGI와 함께 제공되는 Python으로 구현된 비즈니스 로직에 필요한 일부 내부 분석을 구현하기를 원한다는 것입니다. 대부분의 바니시 히트는 계산되지 않습니다(히트는 익명입니다). 두 가지 해결책이 나왔습니다.
- 클라이언트에서 캐시되지 않은 서버에 접속합니다(여기서 클라이언트는 Android 장치입니다. 요청당 두 개의 요청은 배터리 사용량 측면에서 매우 비용이 많이 듭니다)
- 분석 서버가 요청을 수집할 수 있는 다른 서버로 바니시 요청을 프록시하거나 복제합니다. UDP를 사용할 수 있습니다.
두 번째 솔루션이 관련이 있습니까? 이것이 가능합니까? 그렇다면 어떻게 누군가가 이것을 할 수 있습니까?
답변1
vmod_curl
외부 엔드포인트에 추가 요청을 보낼 수 있습니다. Varnish용 모듈인 을 vmod_curl
통해 이 작업을 수행하는 것이 좋습니다 .cURL
보다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