Reemplazo de Windows para HAProxy

13

No parece que haya una pregunta similar a esta ya publicada, por lo que continuaré y preguntaré.

Estoy trabajando en un proyecto que podría beneficiarse al tener dos o cuatro servidores que manejan las solicitudes entrantes a un servicio web de fondo. El servicio no requiere SSL, pero sí debe admitir procesos ocasionales de ejecución prolongada (hasta 120 segundos).

Actualmente, este proyecto no tiene los fondos para comprar una solución de equilibrio de carga de hardware.

Anteriormente he usado HAProxy como solución para esto, y lo encontré muy simple y directo. ¿Existe un producto similar para Windows (servidor 2003 o 2008) que ofrece opciones de configuración similares y se ejecuta como un servicio ligero?

Por razones que están fuera de mi control, no puedo configurar una máquina Linux (física o virtual), por lo que busco un comportamiento que pueda implementarse en una máquina Windows.

Solo puedo encontrar a Perlbal que parece caer en esta categoría. Para no mantener esto abierto de manera indiferente, daré crédito a la única respuesta.

GrayWizardx
fuente
¿Qué versión de Windows?
Justin Scott
Windows Server 2003 o 2008
GrayWizardx

Respuestas:

4

Tal vez Perlbal ? Esta es una solución de equilibrio de carga basada en Perl. No he trabajado con él, pero lo he visto a menudo referenciado y, dado que está escrito en Perl, hay alguna posibilidad de que funcione. Pero...

... Google sugiere que el servidor de Windows ya tiene un servicio de equilibrio de carga de red incorporado, como se explica aquí y aquí .

larsks
fuente
Lo investigaré. Windows LB no es el LB que el cliente desea, ya que desea un equilibrador de carga proxy para reenviar el tráfico a dos servidores de fondo que compartirán la respuesta. No sé mucho sobre Windows LB, pero entiendo que no funcionará para este proyecto.
GrayWizardx
También Mircosoft NLB y los entornos virtuales no van bien juntos.
aairey
10

Tenga cuidado, tengo informes muy negativos de personas que ejecutan Windows LB, que fue la razón principal por la que cambiaron a haproxy. Si está satisfecho con el haproxy, puede compilarlo en Windows utilizando la suite cygwin. No lo he probado yo mismo, pero el usuario que realizó el puerto sí. También me dijo que había un límite de aproximadamente 1600 conexiones concurrentes por proceso en Windows, lo que puede o no ser suficiente para usted.

Según tengo entendido, la compilación debería ser tan sencilla como en Linux: "make". Si necesita más información de este usuario, lo invito a que envíe una llamada a la lista de correo haproxy. Alternativamente, ciertamente hay personas aquí en serverfault que pueden ayudar con la configuración de un entorno de construcción cygwin. Utilice la versión 1.3.22 (última versión estable) para esto.

Willy Tarreau
fuente
9

Puede usar NGINX como proxy inverso. Es compatible con la plataforma de Windows.

Vaya a la página de inicio de NGINX para descargar e instalar: página de inicio de NGINX

Hay un tutorial muy agradable sobre cómo configurarlo para servir el equilibrio de carga: NGINX como equilibrador de carga

Koby Mizrahy
fuente
El enlace al tutorial ya no funciona.
Chau
8

Sé que ha pasado mucho tiempo para preguntas, pero si quieres algo para Windows, entonces la solución es ARR -> NLB

IIS ARR realizará almacenamiento en caché de contenido, proxy inverso, descarga SSL. No hace balance de carga para lo que necesita usar NLB en servidores web. Pero la combinación es que estos dos son muy poderosos.

Además, si termina implementando algún tipo de solución mencionada en este hilo para que los usuarios que tropiecen aquí puedan aprovechar su experiencia.

mamu
fuente
1
Sí, ARR lo es, y ARR es "Enrutamiento de solicitud de aplicación" para IIS, iis.net/download/applicationrequestrouting
Jesper M
1
ARR lucha por hacer un equilibrio de carga de una sola máquina. Si bien puede dirigir el tráfico entre dos máquinas diferentes (y una de ellas puede ser el proxy en sí), no tiene el control detallado que tiene con HAPROXY para poder simplemente apuntarlo a las direcciones.
Doug
0

Entiendo que la pregunta es muy antigua, pero algunas personas aún pueden enfrentar el mismo problema. Entonces la solución más fácil es Cygwin. El ejemplo está aquí http://zcourts.com/2012/09/29/install-haproxy-on-windows-cygwin-good-for-testing/#sthash.PhJ3odwn.dpbs

Askhat
fuente
1
Si bien este enlace puede responder la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden volverse inválidas si la página vinculada cambia.
kasperd