EIVUS

Conceptos de balanceo de carga para web y API

Distribuya tráfico entre servidores: algoritmos, health checks y sesiones.

Volver al blog

Los balanceadores de carga reparten peticiones entre servidores backend y eliminan los no sanos. Round-robin y least-connections son comunes. Para apps con estado use sesiones sticky o estado en store compartido.

Cómo funciona

  • Distribución: El LB reenvía cada petición a uno de los backends (servidores de app).
  • Health checks: El LB hace probe a los backends (HTTP, TCP) y deja de enviar tráfico a los que fallan o van lentos.
  • Punto de entrada único: Los clientes hablan con el LB; el LB oculta el número e identidad de los backends.

Algoritmos

  • Round-robin: Rota por los backends en orden; simple y justo para cargas similares.
  • Least connections: Envía al backend con menos conexiones activas; bueno para duración variable de peticiones.
  • Weighted: Asigna más tráfico a backends más potentes; útil cuando los nodos tienen distinta capacidad.

Apps con estado

  • Sesiones sticky: El LB envía al mismo cliente al mismo backend (por cookie o IP). Simple pero ata el cliente a un nodo.
  • Estado compartido: Guarde sesión en Redis o BD para que cualquier backend sirva a cualquier usuario; mejor para escalar y failover.
  • Stateless: Mejor opción; sin sesión en servidor; escale y reemplace nodos con libertad.

Resumen

Use un balanceador con health checks; elija round-robin, least-connections o weighted. Prefiera apps stateless o estado compartido frente a sesiones sticky para escalabilidad y resiliencia.

Clientes que confían en nosotros