Balanceo de cargas

(Redirigido desde «Balanceador de Carga»)
Balanceo de carga
Información sobre la plantilla
Balanciador.jpg


Balanceo de carga es el esquema aplicado al procesamiento distribuido y/o al sistema de comunicación con el fin de que un dispositivo no se sature.

Balanceo de carga

El balanceo de carga es la manera en que las peticiones de Internet son distribuídas sobre una fila de servidores. Existen varios métodos para realizar el balanceo de carga. Desde el simple Round Robin (repartiendo todas las peticiones que llegan de Internet entre el número de servidores disponibles para dicho servicio) hasta los equipos que reciben las peticiones, recogen información, en tiempo real, de la capacidad operativa de los equipos y la utilizan para enrutar dichas peticiones individualmente al servidor que se encuentre en mejor disposición de prestar el servicio adecuado. Los balanceadores de carga pueden ser soluciones hardware, tales como routers y switches que incluyen software de balanceo de carga preparado para ello, y soluciones software que se instalan en el back end de los servidores.

Algoritmos para balanceo de cargas

  • Balanceo centralizado: un nodo ejecuta el algoritmo y mantiene el estado global del sistema.Este método no es extensible a problemas más grandes ya que el nodo encargado del balanceo se convierte en un cuello de botella.
  • Balanceo completamente distribuido: cada procesador mantiene su propia visión del sistema intercambiando información con sus vecinos y así hacer cambios locales. El costo de balanceo se reduce pero no es óptimo debido a que solo se dispone de información parcial.
  • Balanceo semi-distribuido: divide los procesadores en regiones, cada una con un algoritmo centralizado local. Otro algoritmo balancea la carga entre las regiones. El balanceo puede ser iniciado por envío o recibimiento. Si es balanceo iniciado por envío, un procesador con mucha carga envía trabajo a otros. Si es balanceo iniciado por recibimiento, un procesador con poca carga solicita trabajo de otros. Si la carga por procesador es baja o mediana, es mejor el balanceo iniciado por envío. Si la carga es alta se debe usar balanceo iniciado por recibimiento. De lo contrario, en ambos casos, se puede producir una fuerte migración innecesaria de tareas.

Método Round Robin

Las peticiones clientes son distribuídas equitativamente entre todos los servidores existentes. Este metodo ciclico no tiene en cuenta las condiciones y carga de cada servidor. Esto puede trae consigo tener servidores que reciben peticiones de carga mucho mayor, mientras se tiene servidores que apenas se encuentran utilizando recursos.

Generaciones del Balanceo de Carga

Primera generación de Balanceo de Carga

Las soluciones "reales" de balanceo de carga necesitan descubrir el rendimiento del servidor. La primera generación puede detectar el rendimiento del servidor via passive polling, lo que significa que el balanceador de carga mide el tiempo de respuesta de los servidores y por ello tiene una idea de cómo están funcionando. En esta generación sólo descubre que los servidores tienen un problema después de que se producen retrasos o, en el peor de los casos, cuando los servidores están completamente caídos.

Segunda generación de Balanceo de Carga

El balanceo de carga más seguro sólo se puede conseguir considerando el uso real de los servidores, permitiendo que los recursos existentes se empleen al máximo, al conocer cómo están siendo utilizados estos recursos incluso antes de que las peticiones de los clientes lleguen a ellos. El tráfico se enruta proactivamente, cambiando el antiguo concepto existente de balanceo de carga, hacia una solución de optimización del servidor, consiguiendo el mejor resultado posible con la tecnología disponible. Para lograrlo, el balanceador de carga continuamente realiza peticiones de datos de cada servidor en la granja de servidores para monitorizar sus condiciones y direccionar las peticiones de los clientes hacia el servidor que se encuentre más disponible y en mejor estado para responder a dichas peticiones. Los parámetros solicitados, dependen del producto utilizado. Normalmente se emplea la utilización de la CPU del servidor, el uso de memoria y el número de conexiones abiertas. La segunda generación de balanceadores posee funciones de mensajería, informando si los servidores están fuera de servicio, y si es así, cuándo serán devueltos a producción. La mayoría de los servidores "revividos" pasan un período de prueba durante el cuál no se llenan completamente de peticiones. Se puede incluso desconectar los servidores para repararse o para realizar el mantenimiento, a través del método de "apagado progresivo". El servidor, a partir de ese momento, no acepta nuevas peticiones pero permanece activo hasta que las transacciones de comercio electrónico y las descargas que se estén produciendo finalicen. La segunda (algunas veces considerada la primera) regla más importante de una solución de balanceo de carga, es incrementar la fiabilidad del sitio web y del contenido y los servicios que está ofreciendo. Normalmente la segunda generación de balanceadores de carga hardware se vende en parejas, es decir, dos equipos iguales. Uno de ellos es la unidad activa y el segundo la unidad de repuesto o de back up. Una unidad de back up en modo stand by (en espera) con una misma dirección IP y MAC significa que incluso cuando el balanceador se ve afectado por un incidente como puede ser un fallo de cableado, fuego o error humano, hay una unidad de repuesto pre-configurada que pasa a ser operacional de forma inmediata.

Fuentes