Equilibrio de carga con estado
El balanceo de carga con estado es un enfoque en el que un equilibrador de carga almacena información sobre el estado de la sesión del usuario. Cualquier solicitud del mismo usuario se dirige al mismo servidor para mantener la coherencia de la sesión. Algunas de las ventajas y desventajas de Load Balancing Stateful son:
Ventajas:
- Coherencia de la sesión: garantiza que las solicitudes del mismo usuario se dirijan siempre al mismo servidor, manteniendo la coherencia de los datos de la sesión.
- Experiencia de usuario: Mejorar la experiencia del usuario manteniendo sesiones continuas y consistentes.
Desventajas:
- Complejidad: Las implementaciones son más complejas porque requieren seguimiento y almacenamiento del estado de la sesión.
- Escalabilidad limitada: Más difícil de escalar debido a la dependencia del estado de la sesión.
- Tolerancia a errores: si falla el equilibrador de carga o el servidor que almacena el estado de la sesión, la sesión del usuario puede interrumpirse o perderse.
Técnicas de equilibrio de carga
En esta sección, discutiremos algunas técnicas de equilibrio de carga comúnmente utilizadas, junto con cómo funcionan, ventajas, desventajas y ejemplos de su aplicación.
1. Todos contra todos
Round robin es la técnica de equilibrio de carga más simple . Esta técnica distribuye las solicitudes a su vez a todos los servidores disponibles, sin tener en cuenta otros factores como la carga de trabajo actual del servidor o el tiempo de respuesta del servidor.
Cómo funciona:
- El equilibrador de carga recibe una solicitud del cliente.
- El equilibrador de carga selecciona el siguiente servidor de la lista en orden.
- El equilibrador de carga envía una solicitud al servidor seleccionado.
- El servidor procesa la solicitud y envía la respuesta al cliente.
Exceso:
- Simple y fácil de implementar.
- Justo para todos los servidores.
Deficiencia:
- No tiene en cuenta la carga de trabajo actual del servidor ni el tiempo de respuesta del servidor.
- Un servidor más débil puede sobrecargarse si hay otros servidores más fuertes.
Ejemplo de aplicación:
- Sitios web con tráfico estático y predecible.
- Aplicación web sencilla con una carga de trabajo equilibrada entre servidores.
2. Menos conexiones
Conexiones mínimas es una técnica de equilibrio de carga que selecciona el servidor con el menor número de conexiones para gestionar nuevas solicitudes. Esta técnica tiene como objetivo distribuir la carga de trabajo de manera uniforme y evitar sobrecargar un servidor en particular.
Cómo funciona:
- El equilibrador de carga recibe una solicitud del cliente.
- El equilibrador de carga selecciona el servidor con el menor número de conexiones.
- El equilibrador de carga envía una solicitud al servidor seleccionado.
- El servidor procesa la solicitud y envía la respuesta al cliente.
Exceso:
- Distribuya las cargas de trabajo de manera uniforme entre los servidores.
- Evite sobrecargar ciertos servidores.
Deficiencia:
- Un servidor que acaba de completar muchas solicitudes puede tener menos recursos que otros servidores, aunque tenga menos conexiones.
- No tiene en cuenta el tiempo de respuesta del servidor.
Ejemplo de aplicación:
- Aplicaciones web con cargas de trabajo dinámicas e impredecibles.
- Aplicaciones que son sensibles a los tiempos de respuesta, como aplicaciones VoIP o juegos en línea.