El equilibrador de carga optimiza la utilización de los recursos, reduce la latencia y evita la congestión de la infraestructura.
Funciones del equilibrador
Al escalar horizontalmente, el servicio ayuda a determinar la carga necesaria para un nuevo servidor en el clúster. Si hay dos servidores en el clúster, cada uno de ellos recibirá la misma cantidad de tráfico. El equilibrador proporciona flexibilidad al añadir o eliminar máquinas, optimiza el uso de los recursos de la infraestructura informática y acelera la gestión de mensajes.
El equilibrador de carga sólo envía peticiones a los servidores que están en línea. Si se produce una caida del servidor, el servicio distribuye las tareas a otros elementos de la infraestructura informática. El equilibrador de carga elimina un único punto de fallo, garantizando la protección del sistema y una alta disponibilidad de las aplicaciones.
Funcionalmente, el equilibrador de carga es similar a un proxy inverso (reverse proxy), que también media entre el servidor y el cliente.
Algoritmos del equilibrador de carga
Load Balancer utiliza los siguientes algoritmos:
- Round Robin — distribución secuencial de solicitudes entre un grupo de servidores;
- Menos conexiones (Least Connections) — el servidor con el menor número de conexiones actuales con clientes recibe una nueva solicitud. Para determinar el número de conexiones se tiene en cuenta la potencia de cálculo relativa de cada servidor;
- Sesiones pegajosas (Sticky Sessions) — un algoritmo para asegurar las sesiones de usuario que ayuda a Round Robin y Conexiones mínimas. Se asigna una sesión de usuario al servidor que procesó la solicitud. Si el servidor original no está disponible, la sesión del usuario se ejecutará en otro;
- Hash — Distribución de solicitudes basada en una clave especificada, por ejemplo, direcciones IP o URL;
- Hash de IP — la dirección IP del cliente se utiliza para determinar qué servidor recibe la solicitud.