Comme son nom l'indique, l'équilibrage de charge consiste à répartir efficacement le trafic serveur sur un groupe de serveurs connectés, également appelé ferme de serveurs ou pool de serveurs.
De nombreuses requêtes parallèles affluent de la part des utilisateurs et des clients, et le site web doit pouvoir en traiter des milliers, voire des millions, simultanément et renvoyer le texte, les images, les vidéos ou les données d'application corrects, le tout de manière rapide et fiable. Généralement, pour gérer ces volumes importants de manière rentable, les bonnes pratiques informatiques modernes préconisent l'ajout de serveurs.
En tant que « régulateurs de trafic », les équilibreurs de charge se placent devant vos serveurs, distribuant les requêtes client entre tous les serveurs capables de les traiter. L'équilibreur de charge garantit qu'aucun serveur n'est surchargé, ce qui pourrait entraîner une dégradation des performances. Il assure une utilisation optimale de la vitesse et de la capacité de tous les serveurs et prévient toute surcharge. En cas de panne d'un serveur, l'équilibreur de charge garantit le routage du trafic vers les serveurs restants. Dès son ajout à la liste des serveurs, l'équilibreur de charge commence automatiquement à acheminer les requêtes vers le nouveau serveur.
Comment fonctionnent les équilibreurs de charge ?
Pour éviter que le trafic ne soit acheminé vers des serveurs incapables de traiter les requêtes, les équilibreurs de charge utilisent des algorithmes sophistiqués pour surveiller l'état des serveurs backend. Leur rôle est de gérer le trafic vers les différents serveurs web d'un pool de ressources, qu'il s'agisse d'un équilibreur de charge matériel ou logiciel, et quel que soit l'algorithme utilisé, afin d'éviter la surcharge d'un serveur et, par conséquent, son indisponibilité. Ainsi, le temps de réponse du serveur est minimisé et le débit est maximisé.
L'équilibrage de charge est souvent comparé au rôle d'un agent de la circulation, car il consiste à acheminer systématiquement les requêtes vers les emplacements les plus appropriés à un moment donné, évitant ainsi les goulots d'étranglement coûteux et les incidents évitables.
Quelles sont quelques-unes des solutions standard d'équilibrage de charge ?
Un équilibreur de charge, ou le contrôleur de distribution d'applications (ADC) qui l'intègre, utilise un ensemble d'algorithmes pour déterminer la répartition des requêtes sur l'ensemble des serveurs. Il existe de nombreuses solutions, des plus simples aux plus complexes.
Équilibrage de charge à tour de rôle
Il s'agit d'une solution simple d'équilibrage de charge qui redirige les clients vers un serveur différent selon une liste de rotation lorsqu'un client accède au serveur virtuel. Cependant, malgré sa simplicité de mise en œuvre, les équilibreurs de charge ne tiennent pas compte de la charge existante sur un serveur. Par conséquent, ce dernier peut être surchargé par des requêtes gourmandes en ressources processeur s'il reçoit un grand nombre de requêtes.
Méthode du temps de réponse minimal
La méthode du temps de réponse le plus court est plus sophistiquée pour la surveillance des données de santé, car elle repose sur le temps de réponse du serveur à une requête de surveillance. L'expérience utilisateur globale dépend de la rapidité de réponse du serveur. Certains équilibreurs de charge peuvent également prendre en compte le nombre de connexions actives sur chaque serveur.
Méthode de connexion minimale
La méthode de moindre connexion tient compte de la charge actuelle du serveur, contrairement à la méthode de répartition circulaire (qui ne prend en compte que sa position dans la rotation), ce qui permet d'obtenir des performances nettement supérieures. De plus, avec la méthode de moindre connexion, les requêtes sont envoyées au serveur ayant le moins de connexions actives.
D'autres articles de ce type sont disponibles sur Seahawk Media.