Cómo lograr el equilibrio de carga y qué algoritmos se pueden utilizar
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 de este algoritmo es que es simple y no necesita registrar el estado de todas las conexiones actuales, por lo que es una programación sin estado.
2. Programación de conexión mínima
El algoritmo de programación de conexión mínima asigna nuevas solicitudes de conexión al servidor con el menor número de conexiones actuales. La programación de conexiones mínimas es un algoritmo de programación dinámica que estima la carga de un servidor en función de la cantidad de conexiones actualmente activas en el servidor.
En aplicaciones reales, se establecerá un valor de peso para cada servidor, es decir, conexión mínima ponderada
3. > El algoritmo de programación de conexión mínima basado en la ubicación (en lo sucesivo, LBLC) es una programación de equilibrio de carga basada en la dirección IP de destino del paquete de solicitud. Actualmente se utiliza principalmente en sistemas de clúster de caché porque la dirección IP de destino de la solicitud del cliente. El mensaje estará en el clúster de caché. Se producen cambios.
El algoritmo de programación LBLC primero encuentra el servidor utilizado más recientemente para la solicitud en función de la dirección IP de destino de la solicitud. Si el servidor está disponible y no está sobrecargado, la solicitud se envía al servidor; El servidor no existe, está sobrecargado o de otra manera. Si la carga de trabajo es solo la mitad, el servidor disponible se seleccionará según el principio de "vínculo mínimo". Si el servidor no existe, está sobrecargado o tiene más de la mitad de su capacidad de trabajo, se selecciona un servidor disponible según el principio de "mínimos enlaces" y la solicitud se envía a ese servidor.
4. Enlace mínimo con replicación basado en localización (LBLCR)
El algoritmo de programación de enlace mínimo con replicación basado en localización (LBLCR) (en lo sucesivo, LBLCR) también está dirigido al equilibrio de carga. de direcciones IP se utiliza actualmente principalmente en sistemas de clústeres de caché. Se diferencia del algoritmo LBLC en que el algoritmo LBLC mantiene una asignación de direcciones IP de destino a un grupo de servidores, mientras que el algoritmo LBLC mantiene una asignación de direcciones IP de destino a un único servidor.
El algoritmo de programación LBLCR asigna un sitio "popular" a un conjunto de servidores de caché (colecciones de servidores), y cuando la carga de solicitudes de ese sitio "popular" aumenta, la caché en la colección de servidores aumenta. para manejar la carga creciente; cuando aumenta la carga de solicitudes de ese sitio "popular", se agregan servidores de caché a la colección de servidores para manejar la carga creciente; Cuando aumenta la carga de solicitudes de un sitio web "popular", la cantidad de servidores de caché en la colección de servidores de caché aumentará para manejar la carga creciente; cuando la carga de solicitudes de un sitio web "popular" disminuye, la cantidad de servidores de caché en el La colección del servidor de caché se reducirá.
5. Programación de hash de destino
El algoritmo de programación de hash de destino es un algoritmo de equilibrio de carga para la dirección IP de destino, pero es un algoritmo de mapeo estático que utiliza una función hash para la dirección. está asignado al servidor.
El algoritmo de programación hash de la dirección de destino primero utiliza la dirección IP de destino solicitada como valor hash para encontrar el servidor correspondiente en la tabla hash asignada estáticamente. Si el servidor está disponible y no está sobrecargado, la solicitud se enviará. a este servidor; de lo contrario, se devuelve nulo.
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.