Types d'algorithmes d'équilibrage de charge

Les équilibreurs de charge décident où acheminer le trafic réseau en fonction d'un ensemble de règles prédéterminées.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Définir "algorithme d'équilibrage de charge".
  • Différencier les algorithmes d'équilibrage statique et dynamique de la charge.
  • Décortiquer les types d'algorithmes au sein de ces deux catégories

Copier le lien de l'article

Qu'est-ce qu'un algorithme d'équilibrage de charge ?

Un équilibreur de charge est un dispositif logiciel ou matériel qui empêche un serveur de devenir surchargé. Un algorithme d'équilibrage de charge est la logique qu'un équilibreur de charge utilise pour distribuer le trafic réseau entre les serveurs (un algorithme est un ensemble de règles prédéfinies).

Il existe deux approches principales pour l'équilibrage de la charge. L'équilibrage dynamique de la charge utilise des algorithmes qui prennent en compte l'état actuel de chaque serveur et distribuent le trafic en conséquence. L'équilibrage de charge statique distribue le trafic sans effectuer ces ajustements. Certains algorithmes statiques envoient une quantité égale de trafic à chaque serveur d'un groupe, soit dans un ordre précis, soit de manière aléatoire.

Quels sont les différents types d'algorithmes d'équilibrage de charge ?

Algorithmes d'équilibrage dynamique de la charge

  • Least connection : Vérifie quels serveurs ont le moins de connexions ouvertes à ce moment-là et envoie le trafic vers ces serveurs. Cela suppose que toutes les connexions nécessitent une puissance de traitement à peu près égale.
  • Weighted least connection : Donne aux administrateurs la possibilité d'attribuer des poids différents à chaque serveur, en partant du principe que certains serveurs peuvent gérer plus de connexions que d'autres.
  • Temps de réponse pondéré : . Il calcule la moyenne du temps de réponse de chaque serveur et la combine avec le nombre de connexions ouvertes sur chaque serveur pour déterminer où envoyer le trafic. En envoyant le trafic vers les serveurs dont le temps de réponse est le plus rapide, l'algorithme garantit un service plus rapide aux utilisateurs.
  • Basé sur les ressources : Distribue la charge en fonction des ressources dont chaque serveur dispose à ce moment-là. Un logiciel spécialisé (appelé agent "" ) exécuté sur chaque serveur mesure le CPU et la mémoire disponibles de ce serveur, et l'équilibreur de charge interroge l'agent avant de distribuer le trafic vers ce serveur.

Algorithmes d'équilibrage statique de la charge

  • Round robin : L'équilibrage de charge round robin distribue le trafic vers une liste de serveurs en rotation en utilisant le Domain Name System (DNS). Un serveur de noms faisant autorité possède une liste de différents enregistrements A pour un domaine et en fournit un différent en réponse à chaque requête DNS.
  • Round robin pondéré : Permet à un administrateur d'attribuer des poids différents à chaque serveur. Les serveurs jugés capables de gérer plus de trafic en recevront un peu plus. La pondération peut être configurée dans enregistrements DNS.
  • Hachage IP : Combine les adresses IP source et destination du trafic entrant et utilise une fonction mathématique pour les convertir en un hachage. Sur la base de ce hachage, la connexion est attribuée à un serveur spécifique.

Comment fonctionne l'équilibrage de charge Cloudflare ?

Cloudflare Load Balancing utilise des contrôles de santé pour diriger le trafic vers des serveurs sains. Il permet également aux administrateurs de personnaliser l'endroit où le trafic régional est traité afin de réduire la distance que le trafic doit parcourir. Cette approche est connue sous le nom de global server load balancing (GSLB).