Définition du load balancing

Par définition, le load balancing, aussi appelé « répartition de charge » en français, est un ensemble de méthodes utilisé dans le monde informatique pour :

  • augmenter la rapidité de calcul
  • optimiser l’utilisation de ses ressources informatiques

Petit exemple pour bien comprendre l’intérêt du load-balancing :

Prenons le site de TF1 un soir de match de l’équipe de France de football. Forcément, le trafic sur le site sera plus important qu’un autre soir car beaucoup de jeunes fans voudront regarder le match sur internet. Le load-balancing va permettre à TF1 de pouvoir gérer cette augmentation de trafic et donc aux utilisateurs de profiter du match sans problème un problème de surpopulation du site. L’intérêt du load-balancing réside aussi en la possibilité d’optimiser les ressources existantes. En effet, il est plus économique de faire tourner 5 serveurs à 100% que 10 serveurs à 50%.

Comment marche le load balancing ?

La ressource informatique permettant la résolution des requêtes informatiques est un ensemble de serveurs appelé « ferme de serveurs ».
Pour répartir ces requêtes entre les différents serveurs de cette ferme, on utilise un répartiteur de charge.
Les requêtes arrivent sur le répartiteur de charge qui les distribue vers les serveurs de la ferme. Une fois traitées, ces requêtes retournent soit au répartiteur de charge (mode NAT) soit directement au demandeur (mode DR).

Il existe plusieurs méthodes pour répartir les requêtes dans la ferme de serveurs :

  • Round-Robin : Le répartiteur de charge peut distribuer une requête à chaque serveur puis recommencer quand il a utilisé tous les serveurs.
  • Round-Robin pondéré : Le répartiteur envoie davantage de requêtes aux serveurs les plus puissants.
  • Moins de connexion : Le répartiteur privilégie les serveurs qui renvoient le moins de requêtes.
  • Moins de connexion, pondéré : La répartition se fait en fonction du nombre de requêtes traitées ainsi que de la puissance des serveurs.

La méthode de répartition des requêtes est un des points-clés du load-balancing, il existe beaucoup d’autres méthodes plus complexes pour répartir la charge.

En augmentant la complexité d’un système, on augmente forcément la possibilité de bugs et donc d’indisponibilité du système. Le critère de haute disponibilité est majeur lorsque l’on aborde le load-balancing.

Un élément clé pour rendre disponible des applications

Les applications informatiques sont en général utilisées 24/24 (Internet ne s’arrête jamais !). Une défaillance causant l’indisponibilité du service est critique et entraîne de plus en plus des conséquences importantes. En gérant les ressources disponibles, le load-balancing permet par exemple de répartir la charge d’un serveur en panne ou en maintenance sur les autres serveurs de la ferme et donc d’éviter l’indisponibilité d’un service.

Ce critère de haute disponibilité est un élément critique dans la fiabilité du système. Il a une fonction déterminante en terme de qualité et de capacité à respecter les délais du système informatique.

En bref, la définition du load-balancing correspond à la gestion des ressources informatiques. Pour l’utilisateur final, cela permet d’obtenir des résultats plus rapidement (meilleur connexion internet par exemple). Pour le fournisseur des ressources informatiques, cela lui permet de les optimiser et c’est donc un avantage économique.

De manière physique, le load-balancing est basée sur une ferme de serveurs gérée par un répartiteur de charge. Le load-balancing permet aussi d’assurer une haute disponibilité du service proposé.

Vous avez aimé cet article ? Ou vous avez un commentaire à ajouter ? N'hésitez pas !

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *