Répartition de charge
La répartition de charge consiste à distribuer une charge de travail entre plusieurs ordinateurs. Elle est généralement utilisée pour répartir uniformément le trafic réseau entre un groupe de serveurs web, mais elle peut aussi diviser d’autres tâches de calcul, comme les requêtes de base de données et l’exploration de données. Elle empêche un seul serveur d’être surchargé tandis que les autres serveurs du cluster restent inutilisés. En éliminant les goulots d’étranglement, une répartition de charge appropriée contribue à améliorer les performances des serveurs qui hébergent des sites web et des applications web.
Si un seul serveur web reçoit soudainement cinq ou dix fois plus de requêtes par seconde qu’en temps normal, il peut avoir du mal à répondre à cette demande. Il peut diffuser le contenu plus lentement que d’habitude, voire planter sous cette charge. Répartir ces requêtes entre plusieurs serveurs aide à maintenir les sites web et les applications web disponibles et réactifs. La répartition de charge fonctionne même entre plusieurs emplacements : si la connexion Internet d’un serveur est saturée, les requêtes peuvent être envoyées vers un autre centre de données afin d’utiliser la bande passante plus efficacement.
Que la répartition de charge ait lieu sur un réseau local ou dans un grand centre de données, elle nécessite du matériel ou des logiciels dédiés pour répartir le trafic entrant entre les serveurs. Ces appareils matériels et ces programmes logiciels sont appelés répartiteurs de charge. Lorsqu’il reçoit du trafic entrant, un répartiteur de charge distribue les requêtes à l’aide d’un algorithme de répartition de charge. Les algorithmes statiques distribuent les tâches selon un modèle prédéfini, comme une séquence à tour de rôle, ou dans un ordre aléatoire. Les algorithmes dynamiques tiennent plutôt compte de la charge actuelle de chaque serveur pour acheminer les tâches vers les serveurs les moins occupés. La répartition dynamique sur un CDN distribué peut également tenir compte de la géographie en acheminant les requêtes vers le serveur le plus proche du client, ce qui réduit la latence en diminuant la distance que les paquets de données doivent parcourir.
Testez vos connaissances