Entiendo que, para obtener la conmutación por error en una configuración de equilibrio de carga HAProxy, necesita dos máquinas que ejecuten HAproxy (y enrutarlo a varias instancias de servidor web). Pero en este caso, digamos abcd.com, ¿cómo dividimos / enrutamos este tráfico a 2 direcciones IP en lugar de una? El DNS generalmente resuelve los nombres de dominio en una sola IP. ¿Cómo hacemos esto al usar herramientas / servicios gratuitos / baratos?
load-balancing
failover
haproxy
mixdev
fuente
fuente
Respuestas:
Si tiene tanta carga que necesita equilibrar la carga en dos instancias de haproxy, entonces DNS round robin no es una mala idea (sin embargo, me sorprendería si tiene esta carga). Sin embargo, DNS round robin no proporcionará una buena conmutación por error.
En Stack Overflow usamos
heartbeat
para proporcionar una sola IP virtual, esta IP está activa en un solo host haproxy a la vez (si se cae, la otra se hace cargo de esta IP). Puede usar heartbeat para tener una IP en cada máquina y luego DNS round robin entre las dos. Si uno fallara, el otro tendría ambas IP.HAProxy está utilizando alrededor de 1-5% de CPU en nuestro servidor físico para equilibrar nuestro tráfico que tiene una sola
Intel(R) Xeon(R) CPU E5504 @ 2.00GHz
. Por lo tanto, HAProxy generalmente puede manejar mucho tráfico fácilmente.fuente
-c
, pero podría no detectar cosas como un error de configuración vinculante.Como dice Kyle, los latidos pueden usarse para hacer que dos servidores haproxy actúen como un par de conmutación por error. Sin embargo, aunque muchas personas usan los latidos del corazón para el trabajo, Keepalived es sugerido por el autor de haproxy.
Describe los detalles en la lista de correo de haproxy: http://www.formilux.org/archives/haproxy/1003/3259.html
En resumen, es así:
Los latidos del corazón están orientados al clúster. Asegura que solo un servidor tenga acceso a un recurso (es decir, almacenamiento SAN)
keepalived está orientado a la red. Asegura que al menos un servidor tenga la IP en cuestión.
fuente
Puede encontrar lo que está buscando aquí: http://blog.haproxy.com/2014/01/17/emulating-activepassing-application-clustering-with-haproxy/
fuente