![Pros y contras de un backend `.port` frente a un backend `.host` en Varnish](https://rvso.com/image/776292/Pros%20y%20contras%20de%20un%20backend%20%60.port%60%20frente%20a%20un%20backend%20%60.host%60%20en%20Varnish.png)
En el trabajo tenemos una acumulación de barniz. Todos los servidores remotos nos envían el .host
valor (que supongo que es obligatorio), pero todas las configuraciones para el servidor local, es decir, el servidor que se ejecuta en el servidor en el que se encuentra la configuración/varnishd, usan el .path
valor. Esta mañana tuve un problema con uno de los servidores de barniz, básicamente el socket al que hace referencia .path
no existía y por lo tanto no arrancaba. Intenté varias formas de restablecer el socket, pero después de que ninguna funcionó, cambié la configuración del barniz para usar el .backend
valor. Veo que esto es un beneficio, ya que ahora puedo mantener fácilmente una configuración de barniz centralizada sin tener que preocuparme por compilar cada configuración por servidor (es decir, eliminar la .host
línea del backend que corresponde al servidor específico).
¿Existen beneficios significativos al usar un socket para conectarse al grupo de barniz local (usar el enganche para la terminación SSL si ese es un factor)? Si todas las cosas son iguales, veo que el .host
valor de uso es una opción superior porque hace que enviar actualizaciones de configuración sea mucho más simple.
Respuesta1
Usar .path
para sockets de dominio Unix es mucho más rápido que usar .host
y .port
para conexiones TCP/IP.
Si le preocupa el rendimiento, utilice sockets de dominio Unix, ya que obtendrá un mayor rendimiento (>100 Gbps sobre TLS).
Si el rendimiento masivo no es tan importante, puede utilizar TCP/IP, que no requiere tener una UDS.
Para los permisos de UDS son importantes, así que asegúrese de que tanto Varnish como Hitch tengan los permisos correctos para acceder al socket. Varnish creará el encaje y Hitch lo usará.