ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Balanceo De Carga MYSQL Con HAPROXY


Enviado por   •  18 de Septiembre de 2012  •  784 Palabras (4 Páginas)  •  820 Visitas

Página 1 de 4

Balanceando la carga de MySQL con HAProxy

0. Índice de contenidos.

• 1. Entorno.

• 2. Introducción.

• 3. Vamos al lío.

• 4. Probamos el resultado.

• 5. Conclusiones.

1. Entorno

Este tutorial está escrito usando el siguiente entorno:

• Hardware: Portátil Mac Book Pro 17" (2,6 Ghz Intel Core i7, 8 GB DDR3)

• Sistema Operativo: Mac OS X Snow Leopard 10.6.4

• 5 máquinas virtuales con Ubuntu Server 10.4 en VirtualBox

• MySQL 5.1

• MySQL Cluster

• HAProxy 1.3.22

2. Introducción

En un tutorial anterior ya vimos como conseguir alta disponibilidad con MySQL montando un cluster: Montar un cluster de MySQL. El objetivo del presente tutorial es añadir un balance de carga a nuestra solución de alta disponibilidad.

Las soluciones de balance de carga pueden ser tanto hardware como software. En este caso, nosotros vamos a optar por una solución software llamada HAProxy que instalaremos en otra máquina virtual independiente y que funcionará de proxy con el resto de nodos SQL de la arquitectura, a fin de repartir las peticiones.

3. Vamos al lío

Lo primero que tenemos que hacer es instalar una nueva máquina virtual. Esta máquina solo va a actuar de proxy balanceador por lo que lo único que tenemos que instalar es el paquete HAProxy.

view plainprint?

1. sudo apt-get install haproxy

Una vez instalado vamos a configurarlo para que balance la carga de MySQL. Para ello abrimos con un editor el fichero /etc/haproxy/haproxy.cfg que se ha creado con contenido por defecto en la instalación del paquete.

Esta es una posible configuración para nuestro caso:

view plainprint?

1. global

2. maxconn 4096

3. user haproxy

4. group haproxy

5. daemon

6.

7. defaults

8. mode http

9. option tcplog

10. option dontlognull

11. retries 3

12. option redispatch

13. contimeout 5000

14. clitimeout 50000

15. srvtimeout 50000

16.

17. listen mysql-cluster 0.0.0.0:3307

18. mode tcp

19. balance roundrobin

20.

21. server nodo1 192.168.1.15:3306 check

22. server nodo2 192.168.1.16:3306 check

23. server nodo3 192.168.1.14:3306 check

La parte importante de la configuración se encuentra en la sección [listen] donde estamos indicando que el proxy escuche por el puerto 3307, y que las peticiones que le lleguen por ese puerto las reparta en base a un algoritmo round robin entre los servidores que se especifican. En caso de tener unos servidores más potentes que otros, podríamos definir un peso para cada uno de forma

...

Descargar como (para miembros actualizados) txt (5 Kb)
Leer 3 páginas más »
Disponible sólo en Clubensayos.com