Cómo lograr el equilibrio de carga y qué algoritmos se pueden lograr
1. Programación de sondeo
El algoritmo de programación de sondeo programa solicitudes a diferentes servidores en forma de sondeo, es decir, cada ejecución de programación i = (i + 1) mod n, y selecciona el i-ésimo servidor. La ventaja del algoritmo es su simplicidad. No necesita registrar el estado de todas las conexiones actuales, por lo que es una programación sin estado.
2. Programación mínima de conexión
El algoritmo de programación mínima de conexión asigna nuevas solicitudes de conexión al servidor con el menor número actual de conexiones. La programación de conexión mínima es un algoritmo de programación dinámica que estima la carga del servidor en función de la cantidad de conexiones activas actualmente en el servidor.
En el proceso de implementación real, generalmente se establece un valor de peso para cada servidor, que es la conexión mínima ponderada
3. p>
El algoritmo de programación de mínimo enlace basado en la localidad (en lo sucesivo, LBLC) es una programación de equilibrio de carga para la dirección IP de destino del mensaje de solicitud. Actualmente se utiliza principalmente en sistemas de clúster de caché, porque en el clúster de caché. , mensajes de solicitud del cliente La dirección IP de destino está cambiando.
El algoritmo de programación LBLC primero encuentra el servidor utilizado recientemente por la dirección IP de destino en función de la dirección IP de destino solicitada. Si el servidor está disponible y no está sobrecargado, la solicitud se envía al servidor; no existe. O el servidor está sobrecargado o un servidor tiene la mitad de su carga de trabajo, luego se selecciona un servidor disponible usando el principio de "vínculo mínimo" y la solicitud se envía a ese servidor.
4. Programación de enlaces mínimos con replicación basada en la localidad (LBLCR)
El algoritmo de programación de enlaces mínimos con replicación basada en la localidad (en lo sucesivo, LBLCR) también es un equilibrio de carga para el dirección IP de destino, actualmente utilizada principalmente en sistemas de clúster de caché. La diferencia entre este y el algoritmo LBLC es que mantiene una asignación de una dirección IP de destino a un grupo de servidores, mientras que el algoritmo LBLC mantiene una asignación de una dirección IP de destino a un servidor.
El algoritmo de programación LBLCR asigna sitios "populares" a un grupo de servidores de caché (colecciones de servidores). Cuando la carga de solicitudes de los sitios "populares" aumenta, los servidores de caché de la colección se agregarán para manejarlos. la carga en crecimiento continuo; cuando la carga de solicitudes del sitio "popular" disminuye, se reducirá la cantidad de servidores de caché en la colección.
5. Programación de hash de la dirección de destino
El algoritmo de programación de hash de la dirección de destino sirve para equilibrar la carga de la dirección IP de destino, pero es un algoritmo de mapeo estático, a través de un hash (Hash) La función asigna una dirección IP de destino a un servidor.
El algoritmo de programación hash de la dirección de destino primero encuentra el servidor correspondiente de la tabla hash asignada estáticamente como un hash basado en la dirección IP de destino de la solicitud. Si el servidor está disponible y no está sobrecargado, se envía la solicitud. al servidor; de lo contrario, se devuelve null.
6. Programación de hash de la dirección de origen
Similar a la programación de hash de la dirección de destino, la única diferencia es que la dirección de origen es la clave hash de la función hash.