Balanceo de carga entre servidores Web

Que es el Balanceo de Carga y para que lo quiero

Dice la wikipedia:

El balance o balanceo de carga es un concepto usado en informática que se refiere a la técnica usada para compartir el trabajo a realizar entre varios procesos, ordenadores, discos u otros recursos.

En nuestro caso vamos a hablar del balanceo de carga entre servidores web. En este caso un balanceador lo que hará es repartir las peticiones HTTP entre N servidores web según algún tipo de algoritmo. La primera pregunta es ¿Para que podemos querer un balanceador de carga? La cual tiene 2 respuestas:

  1. Para mejorar el rendimiento de nuestra plataforma web
  2. Para mejorar la disponibilidad de nuestra plataforma web

En el primer caso nuestro objetivo será superar la limitación de servir peticiones/segundo que nos da una sola instancia de un servidor web (digamos que es un LAMP). Cuando las visitas a nuestro sitio web aumentan podemos intentar añadir más capacidad de procesado (añadirle mas recursos ram, cpu, etc  o cambiar a un servidor más potente). Pero esto no siempre es posible y solo nos queda la solución de recurrir al balanceado de carga.

En el segundo caso nuestro interés es evitar las paradas de servicio debido a….

  • Tareas de mantenimiento en el servidor (actualizaciones de software del servidor, ajustes en la configuración,….) que provocan paradas de servicios que no siempre son deseadas/posibles
  • Caídas del servidor. Sabemos que no debería pasar pero a veces algo se rompe 🙂

Como funciona y algunas soluciones posibles (OVH/Amazon/haproxy/…)

Sea cual sea nuestro objetivo lo que vamos a hacer es añadir más servidores que procesen las peticiones web y delante de ellos un sistema que haga 2 cosas:

  • Reparta el trabajo (equitativamente, con pesos, en modo activo/pasivo,…)
  • Si uno de los nodos deja de funcionar

Vamos a ver el diagrama más sencillo posible 2 servidores web y un balanceador delante:

 

A la hora de crear ese balanceador podemos usar distintas soluciones en función de nuestro escenario, agrupadas en 2 grandes grupos:

Como funciona el IP LoadBalancing OVH

Uso de SSL

Algunos tips

como saber la ip de origen, como saber si se usa ssl o no)



¿Te gusta este post? Es solo un ejemplo de cómo podemos ayudar a tu empresa...

Queremos tu opinión :)