El equilibrio de carga, balance de carga (ó balanceo)[1] es un concepto usado en administración de sistemas informáticos que se refiere a la técnica usada para compartir el trabajo a realizar entre varios ordenadores, procesos, discos u otros recursos. Está íntimamente ligado a los sistemas de multiprocesamiento, o que hacen uso de más de una unidad de procesamiento para realizar labores útiles.
El balance de carga se mantiene gracias a un algoritmo que divide de la manera más equitativa posible el trabajo, para evitar los así denominados cuellos de botella.[2]
Uno de los principales problemas de los mayores sitios web en Internet es cómo gestionar las solicitudes de un gran número de usuarios. Se trata de un problema de escalabilidad que surge con el continuo crecimiento del número de usuarios activos en el sistema.
Este servicio se puede brindar tanto con un enrutador como con una computadora con dos placas de red y software específico.
Los balanceadores de carga se pueden clasificar según el tipo de algoritmo utilizado para distribuir el trabajo, así tenemos balanceadores:
Como software libre el más conocido es LVS, y Red Hat ha optado por una solución que combina keepalive y HAproxy.
Y en la plataforma para Windows Server se tiene al ISA Server (Microsoft Internet Security and Acceleration Server).
Existen softwares para el balance de carga, como "Wingate" en donde se pueden añadir dos redes.
Un clúster de balanceo de carga o de cómputo adaptativo está compuesto por uno o más ordenadores (llamados nodos) que actúan como frontend (Interfaz de usuario) del clúster, y que se ocupan de repartir las peticiones de servicio que reciba el clúster, a otros ordenadores del clúster que forman el back-end (Servidor) de éste. Un tipo concreto de clúster cuya función es repartir la carga de proceso entre los nodos en lugar de los servicios es el clúster openMosix.
Las características más destacadas de este tipo de clúster son: