¿Qué es un algoritmo de equilibrio de carga?
Un equilibrador de carga es un dispositivo de software o hardware que evita que un servidor se sobrecargue. Un algoritmo de equilibrio de carga es la lógica que utiliza un equilibrador de carga para distribuir el tráfico de red entre los servidores (un algoritmo es un conjunto de reglas predefinidas).
Hay dos enfoques principales para el equilibrio de carga. El equilibrio de carga dinámico utiliza algoritmos que tienen en cuenta el estado actual de cada servidor y distribuyen el tráfico en consecuencia. El equilibrio de carga estático distribuye el tráfico sin realizar estos ajustes. Algunos algoritmos estáticos envían una cantidad igual de tráfico a cada servidor de un grupo, ya sea en un orden específico o al azar.
¿Cuáles son los diferentes tipos de algoritmos de equilibrio de carga?
Algoritmos del equilibrio de carga dinámico
- Menor conexión: comprueba qué servidores tienen menos conexiones abiertas en ese momento y envía el tráfico a esos servidores. Esto supone que todas las conexiones requieren aproximadamente la misma potencia de procesamiento.
- Conexión mínima ponderada: ofrece a los administradores la posibilidad de asignar diferentes cargas a cada servidor, asumiendo que algunos servidores pueden manejar más conexiones que otros.
- Tiempo de respuesta ponderado: calcula el tiempo de respuesta de cada servidor y lo combina con el número de conexiones que tiene abiertas cada servidor para determinar a dónde enviar el tráfico. Al enviar el tráfico a los servidores con el tiempo de respuesta más rápido, el algoritmo garantiza un servicio más rápido para los usuarios.
- Basado en recursos: distribuye la carga en función de los recursos que tiene disponibles cada servidor en ese momento. Un software especializado (llamado "agente"), que se ejecuta en cada servidor, mide la CPU y la memoria disponibles de ese servidor, y el equilibrador de carga consulta al agente antes de distribuir el tráfico a ese servidor.
Algoritmos de equilibrio de carga estático
- Round robin: El equilibrio de carga round robin distribuye el tráfico a una lista de servidores en rotación con el Sistema de nombres de dominio (DNS). Un servidor de nombres autoritativo tendrá una lista de diferentes registros A para un dominio y ofrece uno diferente en respuesta a cada consulta de DNS.
- Round robin ponderado: permite que el administrador asigne diferentes cargas a cada servidor. Los servidores que se consideren capaces de manejar más tráfico recibirán un poco más. La ponderación puede configurarse en los registros de DNS.
- Hash de IP: combina las direcciones IP de origen y destino del tráfico entrante, y utiliza una función matemática para convertirla en un hash. Basándose en el hash, la conexión se asigna a un servidor específico.
¿Cómo funciona el equilibrio de carga de Cloudflare?
El equilibrio de carga de Cloudflare utiliza comprobaciones de estado para dirigir el tráfico hacia servidores en buen estado. También permite que los administradores personalicen dónde se gestiona el tráfico regional para reducir la distancia que debe recorrer el tráfico. Este enfoque se conoce como equilibrio de carga global del servidor (GSLB).