Definición
El proceso de distribuir tareas computacionales, conexiones o solicitudes entre múltiples servidores o recursos para mejorar el rendimiento, reducir el tiempo de respuesta y aumentar la disponibilidad y utilización de recursos.

Principio

Principio
Asignar trabajo a recursos mediante políticas (round-robin, menos-conexiones, ponderado, hashing consistente, guiado por métricas) que tengan en cuenta la capacidad, el estado y los objetivos (latencia, equidad, afinidad).

Demostración

Demostración
Un balanceador de carga dirige solicitudes HTTP entrantes entre un conjunto de servidores web usando 'least-connections' mientras las comprobaciones de salud excluyen servidores no respondientes; el hashing consistente asigna claves de caché a nodos backend minimizando el remapeo cuando entran o salen nodos.

Aplicación incorrecta

Aplicación incorrecta
Usar round-robin simple sin considerar la heterogeneidad de servidores o sesiones pegajosas que obligan a muchas solicitudes a un servidor, creando puntos calientes y degradación de rendimiento; ignorar la salud conduce a enrutar a nodos fallidos.

Consecuencia

Consecuencia
El balanceo de carga correcto incrementa el rendimiento, reduce la latencia de cola y mejora la tolerancia a fallos; permite escalado elástico y mantenimiento sin interrumpir el servicio cuando incorpora información de salud y capacidad.

Inversión

Inversión
Concentrar todas las solicitudes en un único servidor o distribuir sin considerar la capacidad puede crear cuellos de botella y puntos únicos de fallo, reduciendo el rendimiento y la resiliencia del sistema.

Límite

Límite
Se aplica a la distribución de solicitudes y tareas entre múltiples recursos computacionales o de red; no implica automáticamente autoscaling, programación de trabajos batch de larga duración ni gestión de consistencia a nivel de aplicación.

Tensión semántica

Tensión semántica
Se solapa con la planificación y el autoscaling: los planificadores optimizan asignaciones en el tiempo y el autoscaling cambia la capacidad; el balanceo de carga se centra en el enrutamiento en tiempo de ejecución hacia recursos existentes.

Síntesis

Síntesis
El balanceo de carga es el proceso de decisión en tiempo de ejecución que asigna trabajo entrante a recursos disponibles usando políticas de enrutamiento y retroalimentación de métricas/salud para optimizar utilización, latencia y disponibilidad.