![Prós e contras de um back-end `.port` versus um back-end `.host` no Varnish](https://rvso.com/image/776292/Pr%C3%B3s%20e%20contras%20de%20um%20back-end%20%60.port%60%20versus%20um%20back-end%20%60.host%60%20no%20Varnish.png)
No trabalho temos um cacho de verniz. Todos os back-ends remotos usam o .host
valor (que presumo ser obrigatório), mas todas as configurações do back-end local, ou seja, o back-end em execução no servidor em que o config/varnishd está ativado, usam o .path
valor. Esta manhã tive um problema com um dos servidores de verniz, basicamente o soquete referido pelo .path
não existia e por isso não iniciava. Tentei várias maneiras de restaurar o soquete, mas depois que nenhuma funcionou, mudei a configuração do verniz para usar o .backend
valor. Vejo que isso é um benefício, pois agora posso manter facilmente uma configuração de verniz centralizada sem ter que me preocupar em compilar cada configuração por servidor (ou seja, remover a .host
linha do back-end que corresponde ao servidor específico).
Existem benefícios significativos em usar um soquete para conectar-se ao cluster de verniz local (usando engate para terminação SSL, se isso for um fator)? Se todas as coisas forem iguais, vejo o .host
valor using como uma opção superior porque torna o envio de atualizações de configuração muito mais simples.
Responder1
Usar .path
para soquetes de domínio Unix é muito mais rápido do que usar .host
e .port
para conexões TCP/IP.
Se a taxa de transferência for uma preocupação, use soquetes de domínio Unix, pois você obterá uma taxa de transferência mais alta (>100 Gbps por TLS).
Se a taxa de transferência massiva não for tão importante, você poderá usar o TCP/IP, que não requer um UDS.
Para permissões UDS são importantes, certifique-se de que Varnish e Hitch tenham as permissões corretas para acessar o soquete. O verniz criará o soquete e o Hitch irá usá-lo.