El método utilizado para distribuir las solicitudes entrantes de los clientes a una granja de servidores ubicada detrás de LoadMaster se conoce comúnmente como algoritmo de balanceo de carga, o en algunos casos, tipo de balanceo de carga. LoadMaster ofrece un amplio conjunto de algoritmos que van desde el tradicional round-robin hasta técnicas más avanzadas de balanceo adaptativo, las cuales ajustan dinámicamente la distribución del tráfico en función de la información de estado obtenida en tiempo real de los servidores backend.
El algoritmo de balanceo seleccionado para un servicio en LoadMaster depende del tipo de servicio o aplicación que se esté hospedando, así como del perfil de rendimiento y la capacidad de los servidores backend encargados de ejecutarlo.
A continuación, se describen los métodos de balanceo de carga disponibles en LoadMaster, junto con recomendaciones sobre los escenarios más adecuados para su implementación.
El balanceo de carga round-robin es el algoritmo más simple y uno de los más utilizados. Las solicitudes de los clientes se distribuyen entre los servidores de aplicaciones en un orden rotativo. Por ejemplo, si se cuenta con tres servidores de aplicaciones, la primera solicitud del cliente se envía al primer servidor, la segunda al segundo, la tercera al tercero, la cuarta vuelve al primero, y así sucesivamente.
Este método es ideal para flujos de solicitudes predecibles y entornos en los que los servidores en la granja tienen capacidades similares en cuanto a procesamiento, ancho de banda y almacenamiento disponibles.
El round robin ponderado es similar al algoritmo de balanceador de carga round-robin, pero añade la capacidad de distribuir las solicitudes de los clientes en función de la capacidad relativa de cada servidor. Es especialmente útil cuando los servidores tienen diferentes recursos o potencias de procesamiento. El administrador asigna un peso a cada servidor según los criterios que elija, lo que indica su capacidad para gestionar tráfico. Por ejemplo, si el servidor #1 es el doble de potente que los servidores #2 y #3, recibirá un peso mayor. En una secuencia de cinco solicitudes, las dos primeras irían al servidor #1, la tercera al #2, la cuarta al #3 y la quinta nuevamente al #1.
El balanceador de carga de conexión mínima es un algoritmo de balanceador de carga dinámico en el que las solicitudes de cliente se distribuyen al servidor de aplicaciones con el menor número de conexiones activas en el momento en que se recibe la solicitud de cliente. En los casos en que los servidores de aplicaciones tienen especificaciones similares, un servidor puede estar sobrecargado debido a conexiones de mayor duración; Este algoritmo tiene en cuenta la carga de conexión activa. Esta técnica es más apropiada para las solicitudes entrantes que tienen diferentes tiempos de conexión y un conjunto de servidores que son relativamente similares en términos de potencia de procesamiento y recursos disponibles.
La conexión mínima ponderada se basa en el algoritmo de balanceador de carga de conexión mínima para tener en cuenta las diferentes características del servidor de aplicaciones. El administrador asigna un peso a cada servidor de aplicaciones en función de la potencia de procesamiento relativa y los recursos disponibles de cada servidor de la granja de servidores. El LoadMaster toma decisiones de balanceador de carga en función de las conexiones activas y los pesos de servidor asignados (por ejemplo, si hay dos servidores con el menor número de conexiones, se elige el servidor con el peso más alto).
Este método utiliza indicadores de estado proporcionados por un agente personalizado que se ejecuta en cada servidor. LoadMaster consulta regularmente esos indicadores para asignar pesos dinámicos y tomar decisiones más informadas. Es especialmente útil en aplicaciones con cargas variables que requieren evaluaciones detalladas de rendimiento.
SDN (Software Defined Network) adaptativo es un algoritmo de balanceo de carga que combina el conocimiento de las capas 2, 3, 4 y 7 y la entrada de un controlador SDN (Software Defined Network) para tomar decisiones de distribución de tráfico más optimizadas. Esto permite que la información sobre el estado de los servidores, el estado de las aplicaciones que se ejecutan en ellos, el estado de la infraestructura de red y el nivel de congestión en la red desempeñen un papel importante en la toma de decisiones de balanceo de carga. Este método es adecuado para implementaciones que incluyen un controlador SDN (red definida por software).
La ponderación fija es un algoritmo de balanceador de carga en el que el administrador asigna una ponderación a cada servidor de aplicaciones en función de los criterios que elija para representar la capacidad relativa de gestión del tráfico de cada servidor de la granja de servidores. El servidor de aplicaciones con el peso más alto recibirá todo el tráfico. Si se produce un error en el servidor de aplicaciones con el peso más alto, todo el tráfico se dirigirá al siguiente servidor de aplicaciones con el peso más alto. Este método es adecuado para cargas de trabajo en las que un solo servidor es capaz de manejar todas las solicitudes entrantes esperadas, con uno o más servidores de "repuesto en caliente" disponibles para recoger la carga en caso de que falle el servidor activo actualmente.
El algoritmo de balanceador de carga de tiempo de respuesta ponderado que utiliza el tiempo de respuesta del servidor de aplicaciones para calcular el peso de un servidor. El servidor de aplicaciones que responde más rápido recibe la siguiente solicitud. Este algoritmo es adecuado para escenarios en los que el tiempo de respuesta de la aplicación es la principal preocupación.
El algoritmo de balanceador de carga de hash de IP de origen utiliza las direcciones IP de origen y destino de la solicitud del cliente para generar una clave hash única que se utiliza para asignar el cliente a un servidor determinado. Como la clave se puede regenerar si se interrumpe la sesión, la solicitud del cliente se dirige al mismo servidor que estaba utilizando anteriormente. Este método es el más apropiado cuando es vital que un cliente siempre vuelva al mismo servidor para cada conexión sucesiva.
El algoritmo de balanceo de carga de hash de URL es similar al hash de IP de origen, excepto que el hash creado se basa en la URL de la solicitud del cliente. Esto garantiza que las solicitudes de los clientes a una URL determinada siempre se envíen al mismo servidor back-end.
Realice un recorrido guiado rápido por la interfaz de usuario web (WUI) de Kemp LoadMaster para la instalación y configuración de un equilibrador de carga de Kemp.