Maison > Opération et maintenance > Nginx > le corps du texte

Introduction aux algorithmes courants d'équilibrage de charge

王林
Libérer: 2020-06-16 16:40:13
avant
3933 Les gens l'ont consulté

Introduction aux algorithmes courants d'équilibrage de charge

Algorithmes couramment utilisés pour l'équilibrage de charge :

1. Polling (round robin)

Le polling est un équilibrage de charge A. Algorithme relativement basique et simple, il ne nécessite pas la configuration de paramètres supplémentaires. En supposant qu'il y a M serveurs dans le fichier de configuration, l'algorithme parcourt la liste des nœuds de serveur et sélectionne un serveur à chaque tour dans l'ordre des nœuds pour traiter la demande. Lorsque tous les nœuds ont été appelés une fois, l’algorithme parcourra à nouveau en commençant par le premier nœud.

Caractéristiques :

Étant donné que chaque requête de cet algorithme est attribuée à différents serveurs un par un dans l'ordre chronologique, il convient aux situations de cluster avec des performances de serveur similaires, où chaque serveur supporte la même charge . Cependant, pour les clusters avec des performances de serveur différentes, cet algorithme peut facilement causer des problèmes tels qu'une allocation déraisonnable des ressources.

2. Les sondages pondérés

Afin d'éviter les inconvénients causés par les sondages ordinaires, les sondages pondérés ont vu le jour. Dans le cas d'un sondage pondéré, chaque serveur aura son propre poids. De manière générale, une valeur de poids plus élevée signifie de meilleures performances du serveur et il peut gérer plus de requêtes. Dans cet algorithme, les requêtes des clients sont allouées proportionnellement à leur poids. Lorsqu'une requête arrive, le serveur ayant le poids le plus élevé est attribué en premier.

Caractéristiques :

Une interrogation pondérée peut être appliquée à des clusters avec des performances de serveur variables pour rendre l'allocation des ressources plus rationnelle.

L'idée principale est de parcourir chaque nœud de serveur et de calculer le poids du nœud. La règle de calcul est la somme de current_weight et de son effective_weight correspondant. À chaque tour de parcours, le nœud avec le poids le plus élevé est sélectionné comme étant. nœud de serveur optimal. Parmi eux, effective_weight changera en fonction de la situation des ressources et de la situation de réponse lors de l'exécution de l'algorithme.

3. Hachage IP (hachage IP)

ip_hash alloue des serveurs en fonction de la valeur de hachage de l'adresse IP du client qui fait la demande. Cet algorithme peut garantir que toutes les demandes. envoyées à partir de la même adresse IP. Les requêtes sont mappées sur le même serveur, ou différentes adresses IP avec la même valeur de hachage sont mappées sur le même serveur.

Caractéristiques :

Cet algorithme résout dans une certaine mesure le problème de la session non partagée dans un environnement de déploiement de cluster.

Tutoriel recommandé : Tutoriel Nginx

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:juejin.im
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal