O verniz pode servir de uma porta e clonar a solicitação para outra porta?

O verniz pode servir de uma porta e clonar a solicitação para outra porta?

Tenho um problema para resolver em minha implantação atual. O atual se parece com isso.

Verniz na porta 80 na frente do Nginx na porta 8000 apoiado por uWSGI

O problema aqui é que o cliente deseja implementar algumas análises internas que são necessárias para a lógica de negócios, implementadas em Python servidas com uWSGI. A maioria dos acessos de verniz não foram contabilizados (os acessos são anônimos). Duas soluções surgiram.

  1. Acesse um servidor sem cache de clientes (aqui os clientes são dispositivos Android. Duas solicitações por solicitação são muito caras em termos de uso de bateria
  2. Faça proxy ou clone as solicitações em verniz para outro servidor onde o servidor analítico possa ingerir a solicitação. Pode ser com UDP.

A segunda solução é relevante? É possível fazer isso? Se sim, como alguém pode fazer isso?

Responder1

vmod_curl

É possível enviar uma solicitação extra para um endpoint externo. Aconselho você a fazer isso através vmod_curldo cURLmódulo Varnish.

Verhttps://github.com/varnish/libvmod-curlPara maiores informações.

No entanto, enviar uma chamada extra para cada solicitação recebida pode ser bastante desgastante para o seu sistema analítico. A razão pela qual você provavelmente está usando o Varnish é para evitar que seus sistemas de origem fiquem sobrecarregados.

Ferramentas de registro e estatísticas do Varnish

E quando se trata de análises, as ferramentas que o Varnish fornece são incomparáveis.

Aqui estão algumas referências sobre as ferramentas de registro e estatísticas do Varnish:

As ferramentas de registro ( varnishlog, varnishtop& varnishncsa) são baseadas em VSL, então aqui estão algumas referências de VSL:

E finalmente, aqui está uma referência aos contadores usados ​​por varnishstat:http://varnish-cache.org/docs/6.0/reference/varnish-counters.html

informação relacionada