Get it on Google Play
14-12-2017
 

Balanceo de servidores Liferay(O no) con HAProxy y Docker

Balanceador de carga

Balanceador de carga

HAProxy ofrece alta disponibilidad, balanceo de carga y proxy con una solución muy rápida, open source y ligera. Es una solución mas rápida que Apache o Nginx, por ejemplo.

En este ejemplo, además usaremos Docker para que su puesta en marcha sea todavía mas rápido y fácil de configurar.

Lo primero va a ser crearnos el fichero de configuración ‘haproxy.cfg’, en el siguiente ejemplo configuramos un balanceo de carga entre dos máquinas(172.17.0.2:8080 y 172.17.0.3:8080). Este balanceo de carga balanceará el tráfico entre las dos máquinas usando la política ’roundrobin’ basándose en la cookie JSESSIONID(Esta cookie es típica de aplicaciones Java, identifica la sesión del usuario). Es decir, que una vez el usuario haya iniciado la sesión con una máquina siempre se va a comunicar con la misma máquina.

También configuramos que en el puerto ‘8181’ habilitaremos el poder consultar las estadísticas del servicio. En este caso, lo hemos protegido con usuario(liferay) y contraseña(liferay).

global
    pidfile /var/run/haproxy.pid
    log 127.0.0.1 local0 info

defaults
   log global
   mode http
   option httplog
   option dontlognull
   timeout connect 5000
   timeout client 50000
   timeout server 50000

frontend http_front
   bind 0.0.0.0:80
   default_backend http_back

backend http_back
   balance roundrobin
   cookie JSESSIONID prefix indirect nocache
   server s1 172.17.0.2:8080 check cookie L1
   server s2 172.17.0.3:8080 check cookie L2

listen stats
   bind 0.0.0.0:8181
   stats enable
   stats uri /
   stats realm Haproxy\ Statistics
   stats auth liferay:liferay

El servicio lo pondremos en marcha usando Docker, en este caso aprovecharemos la imagen que ya existe ‘haproxy:1.7’, que básicamente es una instalación de HAProxy. Mapearemos nuestro fichero de configuración con el de la imagen y mapearemos también el puerto 80 del host con el puerto 80 del contenedor:

docker run \
	-v /path/a/mi//haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg \
	-p 80:80 \
	haproxy:1.7

Como veis configurar un balanceador es muy fácil.

Si te ha servido, por favor comparte

Interesado en formación Liferay?

 

Leave a Reply