L’équilibreur de charge optimise l’utilisation des ressources, réduit la latence et évite la surcharge de l’infrastructure.
Fonctions de l’équilibreur
Avec la mise à l’échelle horizontale, le service aide à déterminer la charge requise pour un nouveau serveur dans le cluster. S’il y a deux serveurs dans le cluster, chacun recevra une quantité égale de trafic. L’équilibreur offre une flexibilité lors de l’ajout ou de la suppression de machines, optimise l’utilisation des ressources de l’infrastructure informatique et accélère le service des messages.
Load Balancer envoie des requêtes uniquement aux serveurs en ligne. Si un serveur tombe en panne, le service répartira les tâches entre les autres éléments de l’infrastructure informatique. Load Balancer élimine un seul point de défaillance, assurant la protection du système et la haute disponibilité des applications.
Fonctionnellement, l’équilibreur est similaire à un serveur proxy inverse (reverse proxy), qui agit également comme un intermédiaire entre le serveur et le client.
Algorithmes d’équilibrage de charge
Load Balancer utilise les algorithmes suivants :
- Round Robin — distribution séquentielle des requêtes sur un groupe de serveurs ;
- Least Connections — une nouvelle demande est reçue par un serveur avec le plus petit nombre de connexions client actuelles. La puissance de calcul relative de chaque serveur est prise en compte lors de la détermination du nombre de connexions ;
- Sticky Sessions est un algorithme pour attribuer les sessions utilisateur qui aide Round Robin et Least Connections. La session de l’utilisateur est attribuée au serveur qui a traité sa demande. Si le serveur d’origine n’est pas disponible, la session de l’utilisateur démarre sur un autre serveur ;
- Hachage — distribution des requêtes en fonction d’une clé donnée, par exemple, une adresse IP ou URL ;
- Hachage IP — l’adresse IP du client est utilisée pour déterminer quel serveur reçoit la demande.