Probablemente no quieras hacer esto. ¿Qué es lo que realmente intentas hacer?
Michael Hampton
1
Realmente lo necesito para hacerlo
Agus
2
Tengo un caso de uso. Tengo un cliente que envía datos a mis servidores que utiliza nuestra infraestructura de producción. Necesito exactamente los mismos datos enviados a mis servidores de desarrollo para un mayor desarrollo. El cliente solo puede enviar los datos a 1 punto final. No preguntes por qué, no lo sé.
The Dude
1
Oh, necesito duplicar el tráfico, quiero decir que el tráfico se procesará por A, pero B recibirá el proceso fuera de línea
Agus
2
Encontré otra versión de esta pregunta con una respuesta que me ayudó: serverfault.com/a/515531/175380 Básicamente, configuraste la ubicación para que se refleje en una post_actiondirectiva. Esto se ejecutará después de que la máquina de producción haya satisfecho la solicitud.
El módulo ngx_http_mirror_module (1.13.4) implementa la duplicación de una solicitud original mediante la creación de subrequests de duplicación de fondo. Las respuestas a las subrequests espejo se ignoran.
Hola, al usar GOR, solo reconoce con un http 200. Entonces, si tiene un objeto de respuesta o validación, quiere que se haga con lo que el cliente le envía, no creo que esto funcione para él. Por lo que puedo decir, y soy nuevo en Gor, no puede pasar el objeto de resultado de uno de sus segmentos de salida.
PatrickWalker
Estamos probando GOR en este momento y tenemos un par de problemas. Interpreta encabezados como: Ubicación: // newpath que genera solicitudes como GET // newpath. Redirige los encabezados originales sueltos (incluido el agente de uso del host, etc.) Estamos migrando a otra herramienta.
Aalex Gabi
1
no puede reflejar solicitudes con NGINX pero la solicitud está disponible como una variable. Sin embargo, podría usar las secuencias de comandos de Lua para enviar esa variable a un servidor de terceros como una solicitud secundaria.
http://nginx.org/en/docs/http/ngx_http_core_module.html#var_request
Solo pensé que debería mencionarlo aquí para facilitar la búsqueda de otras personas. En mi configuración, no utilicé uwsgi; en cambio, quería duplicar cada solicitud entrante en servidores adicionales (además de los servidores de red troncal que ya tenían la carga equilibrada.
post_action
directiva. Esto se ejecutará después de que la máquina de producción haya satisfecho la solicitud.Respuestas:
Nginx ahora tiene un módulo espejo http. La documentación está en https://nginx.org/en/docs/http/ngx_http_mirror_module.html
Ejemplo de configuración de la documentación:
fuente
Aquí hay una nueva característica de nginx (1.13.4): http://nginx.org/en/docs/http/ngx_http_mirror_module.html#mirror
fuente
Basado en su README Parece que GOR podría ayudarlo a resolver su problema.
Nunca lo usé antes, me topé con él esta semana, ¡así que buena suerte!
fuente
no puede reflejar solicitudes con NGINX pero la solicitud está disponible como una variable. Sin embargo, podría usar las secuencias de comandos de Lua para enviar esa variable a un servidor de terceros como una solicitud secundaria. http://nginx.org/en/docs/http/ngx_http_core_module.html#var_request
fuente
Después de cavar y cavar encontré una solución. Puede verlo aquí Copie y envíe una solicitud a otro servidor nginx para pruebas de tráfico real por @scari
Solo pensé que debería mencionarlo aquí para facilitar la búsqueda de otras personas. En mi configuración, no utilicé uwsgi; en cambio, quería duplicar cada solicitud entrante en servidores adicionales (además de los servidores de red troncal que ya tenían la carga equilibrada.
Espero que ayude,
Liron
fuente