Inicio » Linux » Configurar un Balanceador de Carga con HAProxy en Linux

Configurar un Balanceador de Carga con HAProxy en Linux

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on email

En los entornos profesionales es imprescindible configurar la alta disponibilidad para que el usuario que utiliza el servicio nunca se dé cuenta de que ha habido una incidencia en alguno de los servidores (avería hardware, caída de un servidor, etc.).

Es habitual utilizar balanceadores de carga en servicios WEB, donde cada una de las peticiones se envía a un servidor WEB diferente para repartir el tráfico entre todos ellos con el objetivo de no saturar siempre el mismo servidor y para que, en caso de incidencia, las peticiones de los usuarios se sigan atendiendo en cualquier otra maquina con el servicio levantado.

Las grandes empresas suelen utilizar hardware dedicado para construir el servicio de balanceador, pero también podemos configurarlo por software. HAProxy es una de esas herramientas de software libre para configurar balanceadores de carga.

Instalación de HAProxy

Como ya sabéis, suelo utilizar RedHat o CentOS, así que vamos a instalar HAProxy en Linux CentOS 7. Para ello ejecutaremos el siguiente comando:

Rebajas
HP 15s-fq2038ns - Ordenador Portátil de 15.6” FHD (Intel Core i5-1135G7, 8GB RAM, 512GB...
  • Pantalla Full HD de 15.6" (39,6 cm) en diagonal; bisel micro-edge; antirreflectante; 250 nits; 45 % NTSC (1920 x 1080), 60Hz
  • Procesador Intel Core i5-1135G7 (hasta 4,2 GHz con tecnología Intel Turbo Boost, 8 MB de caché L3, 4 núcleos)
  • Memoria RAM DDR4-2666 MHz de 8 GB
HP Pavilion 15-eg0018ns - Ordenador Portátil de 15.6" FHD (Intel Core i7-1165G7, 16GB...
  • Pantalla Full HD de 15.6" (39,6 cm) en diagonal; IPS; bisel micro-edge; antirreflectante; 250 nits; 45 % NTSC (1920 x 1080)
  • Procesador Intel Core i7-1165G7 (hasta 4,7 GHz con tecnología Intel Turbo Boost, 12 MB de caché L3, 4 núcleos, 8 subprocesos)
  • Memoria RAM DDR4-3200 MHz de 16 GB
yum install haproxy

Una vez instalado, conviene realizar una copia de seguridad del fichero original del producto, por si metemos la pata cuando configuremos nuestros servicio. El fichero es: /etc/haproxy/haproxy.cfg.

Configuración de HAProxy

Supongamos que tenemos dos servidores WEB esuchando por las IPs:

  • 192.168.1.2:443
  • 192.168.1.3:443

Y queremos balancear la carga entre ambos servidores. En el fichero /etc/haproxy/haproxy.cfg, configuraremos las IPs y puertos por donde escuchan los servicios, en concreto, la sección listen:

listen ServidorWeb
    bind *:80
    mode http
    stats enable
    stats auth  cda:cda
    balance roundrobin
    server frontend-01 192.168.1.2:80 check weight 40
    server frontend-02 192.168.1.3:80 check weight 60

Como podemos ver en el ejemplo anterior, balanceamos el servicio por roundrobin y distribución de pesos en relación 40-60%. Roundrobin significa que una petición va a un servidor y la siguiente a otro (teniendo en cuenta la distribución de pesos).

Arranque de HAProxy

En el caso de Linux CentOS, arrancaremos y habilitaremos el servicio con el arranque del sistema con los siguientes comandos:

systemctl start haproxy
systemctl enable haproxy

Una vez que tenemos arrancado el servicio, podemos acceder a las estadísticas de balanceo con una URL interna de HAProxy, por ejemplo:

http://192.168.1.4:8080/stats

Te podría interesar

About Author

¿Te ha gustado? Compártelo

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on email

Contenido Relacionado

Artículos Recientes

Deja un comentario