Pros y contras de un backend `.port` frente a un backend `.host` en Varnish

Pros y contras de un backend `.port` frente a un backend `.host` en Varnish

En el trabajo tenemos una acumulación de barniz. Todos los servidores remotos nos envían el .hostvalor (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 .pathvalor. Esta mañana tuve un problema con uno de los servidores de barniz, básicamente el socket al que hace referencia .pathno 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 .backendvalor. 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 .hostlí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 .hostvalor de uso es una opción superior porque hace que enviar actualizaciones de configuración sea mucho más simple.

Respuesta1

Usar .pathpara sockets de dominio Unix es mucho más rápido que usar .hosty .portpara 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á.

información relacionada