Duplicación del tráfico con Nginx (para aumentar la disponibilidad y disminuir la latencia)

Duplicación del tráfico con Nginx (para aumentar la disponibilidad y disminuir la latencia)

Necesito duplicar/reflejar el tráfico que llega a mi servidor.

Quiero decir, tengo N servidores backend A1 A2... An(n>=2) y un nginx como proxy inverso y equilibrador de carga.

Todo el tráfico que llega a Nginx se redirige tanto a Ax como a Ay(x!=y) enparalelo, si uno de los servidores está inactivo (tiempo de espera o 5xx), entonces la respuesta del otro servidor se puede usar inmediatamente y devolver el resultado al cliente.

Reflejando el tráfico (no reintentando)pero envía las solicitudes duplicadas en paralelo), puedo crear redundancia, lo que significa que más de un servidor backend puede procesar una solicitud al mismo tiempo.

Necesito responder al cliente dentro de los 30 ms, si configuro los reintentos = 1, el tiempo de espera debe establecerse en 15 ms (difícil de archivar), por lo que reflejar el tráfico puede ser una solución.

¿Es posible?

Respuesta1

Su pregunta casi tiene una respuesta en sí misma en general. Lo que estás describiendo es solo equilibrio de carga con controles de estado. Definitivamente eso es posible con nginx y dicha configuración se describe en sus documentos:http://nginx.org/en/docs/http/load_balancing.html

información relacionada