Balanceador de carga
Componente que reparte las peticiones entrantes entre varios servidores, para que ninguno se sature y el servicio siga aunque uno falle.
Qué es Balanceador de carga
Un balanceador de carga (load balancer) se sitúa delante de un grupo de servidores y distribuye el tráfico entre ellos según una estrategia (turno rotatorio, menos conexiones, etc.). Mejora el rendimiento, permite escalar horizontalmente y aporta tolerancia a fallos: si un servidor cae, deja de enviarle peticiones.
Cómo funciona
Los usuarios apuntan al balanceador (una IP o un nombre). Este comprueba periódicamente la "salud" de cada servidor de detrás y reparte solo entre los sanos. Puede operar a nivel de red (capa 4, rápido) o de aplicación (capa 7, entiende HTTP y puede enrutar por URL, cookies, etc.) y suele terminar el HTTPS.
Cuándo usarlo
Siempre que tengas más de un servidor sirviendo la misma aplicación: para escalar, para no tener un único punto de fallo, para hacer despliegues sin cortes. Una web en un solo servidor no lo necesita.
Datos curiosos
- Es la pieza clave para que el autoescalado funcione.
- Permite "drenar" un servidor (dejar que termine sus conexiones) antes de actualizarlo o retirarlo.
- Los grandes clouds ofrecen balanceadores gestionados que escalan ellos mismos.
Preguntas frecuentes
¿Lo necesito con un solo servidor?
No. Cobra sentido cuando hay dos o más detrás sirviendo lo mismo.
¿Capa 4 o capa 7?
Capa 4: más rápido, reparte "a ciegas". Capa 7: entiende HTTP y puede enrutar por ruta, dominio o cookie.
¿Termina el HTTPS?
Suele hacerlo: descifra ahí y habla en claro (o cifrado) con los servidores de detrás, descargándolos de esa tarea.