Qu’est-ce que le Load Balancing ?
Le Load Balancing consiste à répartir efficacement le trafic réseau entrant sur un groupe de serveurs, également connu sous le nom de parc de serveurs ou de pool de serveurs.
Les sites web modernes à fort trafic doivent répondre à des centaines de milliers, voire des millions, de demandes simultanées d’utilisateurs ou de clients et renvoyer les bons textes, images, vidéos ou données d’application, le tout de manière rapide et fiable. Afin de répondre de manière rentable à ces volumes élevés, les meilleures pratiques informatiques modernes nécessitent généralement l’ajout de serveurs supplémentaires.
Un équilibreur de charge joue le rôle d’un « agent de circulation » achemine les demandes des clients sur tous les serveurs capables de répondre à ces demandes d’une manière qui maximise la vitesse et l’utilisation de la capacité et garantit qu’aucun serveur n’est surchargé, ce qui pourrait dégrader les performances et les temps de réponse, le load balancing va regarder les serveurs disponibles et diriger la requête vers les serveurs pouvant vous donner la réponse le plus rapidement possible. Si un seul serveur tombe en panne, le load balancing redirige le trafic vers les autres serveurs en ligne. Lorsqu’un nouveau serveur est ajouté au groupe de serveurs, l’équilibreur de charge commence automatiquement à lui envoyer des requêtes.
De cette manière, un équilibreur de charge remplit les fonctions suivantes :
- Répartir efficacement les demandes des clients ou la charge du réseau sur plusieurs serveurs
- Garantit une haute disponibilité et fiabilité en n’envoyant les demandes qu’aux serveurs qui sont en ligne
- Offre la flexibilité d’ajouter ou de soustraire des serveurs en fonction de la demande
Algorithmes de Load Balancing
Les différents algorithmes de Load Balancing offrent des avantages différents ; le choix de la méthode de Load Balancing dépend de vos besoins :
- Round Robin – Les requêtes sont réparties sur le groupe de serveurs de manière séquentielle.
Les connexions les moins nombreuses – Une nouvelle demande est envoyée au serveur qui a le moins de connexions avec les clients. La capacité de calcul relative de chaque serveur est prise en compte pour déterminer celui qui a le moins de connexions. - Le moins de temps – envoie des demandes au serveur sélectionné par une formule qui combine les
le temps de réponse le plus rapide et le moins de connexions actives. - Hash – Distribue les requêtes en fonction d’une clé que vous définissez, comme l’adresse IP du client ou
l’URL de la demande. - Hachage IP – L’adresse IP du client est utilisée pour déterminer quel serveur reçoit la demande.
- Aléatoire avec deux choix – Choisit deux serveurs au hasard et envoie la demande au
un qui est sélectionné en appliquant ensuite l’algorithme des Least Connections.
Avantages du Load Balancing
- Réduction des temps d’arrêt
- Évolutif
- Redondance
- Flexibilité
- Efficacité
- Load Balancing du serveur global