ti-enxame.com

Verniz versus outros proxies reversos

Estou trabalhando com uma organização que implantou o verniz como um proxy reverso em cache para todo o tráfego da Web. Sua maquiagem de tráfego é um monte de sites dinâmicos gerados pelo cliente, com a coleção usual de ativos estáticos pendurados do lado.

Enquanto eu estou tentando gostar de verniz (acho que tem uma arquitetura muito boa, em princípio), estou tendo alguns problemas o gerenciando e solucionando problemas como eles surgem, então estou me perguntando se é realmente a escolha certa. Eu usei lulas no passado como um proxy reverso, mas não nos mesmos tipos de papel, então não tenho uma base clara para comparação.

Minha pergunta é direcionada para pessoas que implantaram verniz na produção ou avaliá-lo seriamente contra as alternativas: você ficou com verniz, ou você acabou usando outro proxy reverso? Quais foram os seus principais pontos para ficar com ele ou mudar, e se você usou outra coisa, o que você acabou usando?

13
womble

Bem, eu estou correndo verniz em meus servidores, principalmente por motivos de desempenho, embora seu balanceamento de carga seja útil também.

Meu caso de uso é em cache na frente de Django sites baseados, e faz maravilhas para o desempenho de carga da página. Eu sou capaz de servir a maioria das páginas diretamente do cache e lidar com uma enxurrada de visitantes com pouco problema.

A razão pela qual escolhi verniz foi principalmente desempenho/escalabilidade. Os pontos principais:

  • Vamos ao kernel gerenciar a memória virtual, onde o lula tenta manter cacos separados de disco e memória, pode levar ao kernel e lula a esgueirando um pouco sobre o que deve ser paginado para o disco.
  • O verniz usa o VCL, é o próprio idioma de configuração específico do domínio, que compila para o código da máquina via C. Esse é um benefício de desempenho muito real se você tiver um pouco mais do que um pouco de lógica na sua configuração - decapagem de cabeçalho condicionado etc.

Na minha experiência, o verniz realiza um pouco melhor que a lula na maioria dos casos, e muito melhor nos picos de trânsito. Por outro lado, a configuração de verniz corretamente levará algum arrasto de lista de correspondência, pois não há tantas documentação de caso de uso pré-para-go-para-go-para-seu-específico que fluem em torno da rede, pois há Para lulas - principalmente devido a verniz sendo um projeto bastante jovem em comparação.

9
mikl

Passei muito tempo tentando obter o verniz 1.x estável no pântano padrão Linux/Dell Hardware, seria sempre pendurado de alguma forma estranha e seu watchdog iria reiniciá-lo. O que foi bom, exceto pelo cache duro que não estava sendo persistido em nenhum outro lugar ...

Dito isto, você está realmente usando a ferramenta certa para o trabalho? Se você quiser um proxy reverso que seja cache os resultados da solicitação (assumindo que você está fornecendo cabeçalhos de cache de boa qualidade), então o verniz é uma boa opção. Espero que seja mais estável na versão 2.0

No entanto, se você estiver executando um site * OnRails e deseja carregar balanceamento sobre vários servidores de backend, Haproxy ou Nginx pode ser o caminho a percorrer. Se você não precisar de nenhuma lógica complicada de URL (redirecionamentos, a REGEX corresponde a reescrever URLs mais antigos, etc), o Haproxy se encaixará na fatura. Se você precisar de algo mais capaz, então dê nginx a ir.

0
Dave Cheney