
Estoy trabajando en una infraestructura donde los servidores httpd realizan proxy inverso del tráfico http. Nos gustaría permanecer en httpd (en lugar de considerar, por ejemplo, Nginx) porque tenemos muchos hosts virtuales configurados en esta plataforma.
Ahora me gustaría agregar funciones de HA y equilibrio de carga a la parte del proxy inverso. Si creo un clúster activo-activo, necesito una solución como DNS round robin, que me gustaría no considerar como mi primera opción (porque es complicada de obtener).
¿Sería una buena solución configurar un clúster HAProxy activo-pasivo (con IP flotante), equilibrio de carga (en modo tcp, nivel 4) y un clúster httpd activo-activo, haciendo el proxy inverso de http(s) real? De esta manera lograría lo siguiente:
- JA. HAProxy es tolerante a fallos, por lo que los httpd
- Balanceo de carga. Httpd tiene carga equilibrada (activo-activo). HAProxy no lo es (un solo host está activo), pero supongo que escalará mejor que httpd en el manejo del tráfico, siendo suficiente un nodo
- Al tener equilibrio de carga HAProxy en tcp, puedo dejar toda la configuración de http y https en el lado de httpd.
¿Hay algún inconveniente con este enfoque o mejores soluciones?
Respuesta1
Sai,
Parece que se le ha ocurrido una solución sensata. Está describiendo una implementación típica de un equilibrador de carga HA para un clúster de aplicaciones. HAProxy le brinda mucha flexibilidad cuando la necesita, y el modo de paso TCP es agradable y simple.
El único problema es la complejidad adicional que supone mantener de forma fiable un clúster HAProxy. ¿Supongo que usarás Keepalived?
Aquí en Loadbalancer.org actualmente usamos Heartbeat (HA-Linux), pero pronto pasaremos a nuestro propio sistema Pulse HA con soporte activo/activo en múltiples balanceadores de carga.