Qu’est-ce qu’un répartiteur de charge ?
Un équilibreur de charge permet de répartir dynamiquement le trafic réseau entre différentes ressources (sur site ou dans le cloud) afin de prendre en charge une application.
Un équilibreur de charge est une solution qui agit comme un proxy de trafic et répartit le trafic réseau ou applicatif entre des points de terminaison hébergés sur plusieurs serveurs. Les équilibreurs de charge permettent de répartir la capacité pendant les pics de trafic et d’améliorer la fiabilité des applications. Ils optimisent les performances globales des applications en réduisant la charge qui pèse sur chaque service ou cloud, et répartissent la demande entre différentes ressources de calcul afin de contribuer au maintien des sessions applicatives et réseau.
Les applications modernes doivent traiter des millions de sessions simultanément et fournir à chaque utilisateur les textes, vidéos, images et autres données appropriés, de manière rapide et fiable. Pour gérer des volumes de trafic aussi élevés, la plupart des applications disposent de nombreux serveurs de ressources contenant des données dupliquées.
L’équilibrage de charge répartit dynamiquement le trafic réseau sur un réseau de ressources prenant en charge une application. Un équilibreur de charge est un dispositif ou un service qui s’intercale entre l’utilisateur et le groupe de serveurs et agit comme un intermédiaire invisible, en veillant à ce que tous les serveurs de ressources soient sollicités de manière équilibrée. Il contribue à accroître la fiabilité et la disponibilité, même en période de forte utilisation et de demande élevée, tout en garantissant une meilleure disponibilité du service et une expérience utilisateur améliorée.
Dans certains cas, il est essentiel que toutes les requêtes d’un client soient envoyées au même serveur pendant toute la durée d’une session, par exemple lorsqu’un client ajoute des articles à son panier, puis finalise son achat. Le maintien de la connexion entre le client et le serveur est appelé « persistance de session ». Sans persistance de session, les informations doivent être synchronisées entre les serveurs et peuvent devoir être récupérées plusieurs fois, ce qui nuit aux performances.
Avantages de l’équilibrage de charge
Les utilisateurs et les clients comptent sur un accès quasi instantané aux informations et sur la possibilité d’effectuer des transactions. Des temps de latence ou des réponses peu fiables et irrégulières, même lors des pics de demande et d’utilisation, peuvent faire fuir définitivement un client. Par ailleurs, de fortes hausses des besoins en puissance de calcul peuvent perturber un serveur interne ou un système de serveurs si la demande entrante, ou « charge », est trop élevée pour être facilement absorbée.
Les avantages de l’utilisation d’un équilibreur de charge sont notamment les suivants :
- Disponibilité des applications : Les utilisateurs internes comme externes doivent pouvoir compter sur la disponibilité des applications. Si une application ou une fonctionnalité est indisponible, lente ou bloquée, un temps précieux est perdu, ce qui peut créer une source de frustration susceptible de pousser un client vers un concurrent.
- Évolutivité des applications : Imaginez que vous dirigiez une société de billetterie et que la mise en vente des billets pour un spectacle très attendu soit annoncée à une date et une heure précises. Des milliers de personnes, voire davantage, pourraient tenter d’accéder à votre site pour acheter des billets. Sans équilibreur de charge, votre site serait limité à la capacité de votre unique ou premier serveur, qui serait probablement insuffisante face à une telle demande. Vous pouvez au contraire anticiper ce pic de trafic important en utilisant un équilibreur de charge pour rediriger les requêtes et le trafic vers d’autres ressources de calcul disponibles. Ainsi, davantage de clients pourront obtenir les billets qu’ils souhaitent.
- Sécurité des applications : La répartition de charge permet également aux organisations de faire évoluer leurs solutions de sécurité. L’un des principaux moyens consiste à répartir le trafic entre plusieurs systèmes back-end, ce qui contribue à réduire la surface d’attaque et rend plus difficiles l’épuisement des ressources et la saturation des liaisons. Les répartiteurs de charge peuvent également rediriger le trafic vers d’autres systèmes si l’un d’eux est vulnérable ou compromis. En outre, ils peuvent offrir une couche de protection supplémentaire contre les attaques DDoS en réacheminant le trafic entre les serveurs si l’un d’eux devient vulnérable.
- Performances des applications : En assurant toutes les fonctions ci-dessus, un répartiteur de charge améliore les performances des applications. En renforçant la sécurité, en optimisant la disponibilité et en permettant de s’adapter aux pics de demande, les répartiteurs de charge garantissent que vos applications fonctionnent comme prévu, conformément à vos attentes et à celles de vos clients.
Algorithmes d’équilibrage de charge
Il existe deux types d’algorithmes d’équilibrage de charge selon leur mode de fonctionnement : statiques et dynamiques. L’équilibrage de charge statique mesure la charge entrante sur un serveur à l’aide d’algorithmes qui disposent d’informations sur les capacités de performance des serveurs existants au sein du réseau distribué. L’équilibrage de charge dynamique peut déterminer en temps réel la quantité de charge à délester et le système qui doit la prendre en charge. Il est conçu pour les systèmes soumis à de fortes variations de la charge entrante.
Voici quelques-uns des types courants d’algorithmes d’équilibrage de charge.
- Tourniquet : Cet algorithme répartit le trafic à tour de rôle entre les serveurs d’une liste à l’aide du système de noms de domaine (DNS). (Remarque : l’équilibrage de charge DNS peut également être une solution dynamique.)
- Seuil : Cet algorithme répartit les tâches en fonction d'une valeur seuil définie par l'administrateur.
- Aléatoire avec deux choix : L’algorithme « puissance de deux » sélectionne deux serveurs au hasard et envoie la requête à celui qui est retenu après application de l’algorithme du plus petit nombre de connexions ou de l’algorithme du temps de réponse le plus court, selon la configuration.
- Nombre minimal de connexions : Une nouvelle requête est envoyée au serveur qui compte le moins de connexions client actives. La capacité de calcul relative de chaque serveur est prise en compte pour déterminer celui qui a le moins de connexions ou qui utilise le moins de bande passante ou de ressources.
- Temps minimal : Dans cet algorithme, une requête est envoyée au serveur sélectionné selon une formule combinant le temps de réponse le plus rapide et le plus petit nombre de connexions actives.
- Hachage d’URL : Cet algorithme génère une valeur de hachage à partir de l’URL présente dans les requêtes des clients. Les requêtes sont transférées vers les serveurs en fonction de cette valeur. L’équilibreur de charge met en cache la valeur de hachage de l’URL. Ainsi, les requêtes ultérieures utilisant la même URL trouvent cette valeur dans le cache et sont transférées vers le même serveur.
- Hachage de l’adresse IP source : Cet algorithme utilise les adresses IP source et de destination du client pour générer une clé de hachage unique qui associe le client à un serveur particulier. Comme cette clé peut être régénérée en cas d’interruption de la session, les demandes de reconnexion peuvent être redirigées vers le même serveur que celui utilisé précédemment.
- Hachage cohérent : Cet algorithme associe les clients et les serveurs à une structure en anneau, chaque serveur se voyant attribuer plusieurs points sur l’anneau en fonction de sa capacité. Lorsqu’une requête client arrive, elle est hachée vers un point de l’anneau, puis acheminée dynamiquement dans le sens des aiguilles d’une montre vers le prochain serveur disponible.
Comment fonctionne l’équilibrage de charge ?
L’équilibrage de charge répond de manière statique ou dynamique à une requête utilisateur, puis la distribue à l’un des serveurs back-end capables de la traiter. Si l’un des serveurs tombe en panne, l’équilibreur de charge redirige le trafic vers les autres serveurs en ligne.
Exemples d’équilibrage de charge
Exemple d’équilibrage de charge statique : Une entreprise héberge un site web dont le contenu est en grande partie statique. Ce scénario est idéal pour un répartiteur de charge statique, car les besoins en trafic sont prévisibles et constants. L’entreprise peut utiliser deux serveurs web identiques (ou plus) entre lesquels le répartiteur de charge statique peut distribuer le trafic.
Exemple d’équilibrage de charge dynamique : Une entreprise connaît des hausses, des pics et des baisses de trafic. Certains sont prévisibles, d’autres non. Ces organisations tireraient parti de l’équilibrage de charge dynamique. Il peut s’agir, par exemple, d’un site de commerce électronique annonçant les horaires et les dates du Black Friday, d’un établissement de santé venant d’annoncer l’ouverture de la prise de rendez-vous en ligne pour un vaccin saisonnier, d’un organisme public chargé de l’assurance chômage qui impose aux bénéficiaires de déposer une demande hebdomadaire un jour précis de la semaine, ou encore d’une organisation humanitaire susceptible de devoir intervenir rapidement en ligne à la suite d’une catastrophe naturelle. Certaines de ces hausses et certains de ces pics de trafic et de demande peuvent être anticipés, mais d’autres non. Dans ces situations, un algorithme d’équilibrage de charge dynamique contribue à garantir l’accès aux applications et aux ressources au moment où les clients et les utilisateurs en ont le plus besoin.
Les différents types de répartiteurs de charge
Les différents types d’équilibreurs de charge, dotés de capacités variées, s’inscrivent dans l’architecture appelée modèle d’interconnexion des systèmes ouverts (OSI). Ce modèle comporte sept couches. Les pare-feu réseau interviennent aux niveaux un à trois (L1 : couche physique, L2 : liaison de données et L3 : réseau). L’équilibrage de charge, quant à lui, s’effectue au niveau des couches quatre à sept (L4 : transport, L5 : session, L6 : présentation et L7 : application). Les équilibreurs de charge sont généralement utilisés au niveau des couches 4 et 7.
- Les répartiteurs de charge de couche 4 dirigent le trafic en fonction des données issues des protocoles des couches réseau et transport (IP, TCP, FTP, UDP). L’équilibrage de charge au niveau de la couche IP désigne un déploiement dans lequel l’adresse IP du répartiteur de charge est celle communiquée aux clients pour un site web, et donc enregistrée comme adresse de destination. Lorsque le répartiteur de charge reçoit la requête, il remplace l’adresse IP de destination enregistrée par celle du serveur de contenu qu’il a choisi.
- Les répartiteurs de charge de couche 7 distribuent les requêtes en fonction des données contenues dans les protocoles de la couche application tels que les en-têtes HTTP, les cookies, l’identificateur uniforme de ressource, l’identifiant de session SSL et les données de formulaires HTML. Ils permettent également de prendre des décisions de routage en fonction des données contenues dans le message applicatif lui-même, telles que la valeur d’un paramètre spécifique. La couche 7 ajoute la commutation de contenu à la répartition de charge.
Équilibreurs de charge basés sur le cloud
Les répartiteurs de charge basés sur le cloud ne se contentent pas de gérer les pics de trafic et d’optimiser l’utilisation des serveurs. Les répartiteurs de charge cloud natifs peuvent également fournir des analyses prédictives afin de vous aider à visualiser les goulets d’étranglement du trafic avant qu’ils ne surviennent. Ces analyses fournissent ainsi des informations exploitables qui permettent à toute entreprise d’optimiser ses solutions informatiques.
Équilibrage de charge des applications : Alors que les entreprises dépendent de plus en plus des performances et de la disponibilité des applications, l’équilibrage de charge des applications peut les aider à évoluer, à rationaliser leurs opérations et à réaliser des économies.
Répartition globale de la charge des serveurs : Avec des utilisateurs et des clients partout dans le monde, les entreprises peuvent améliorer la disponibilité de leurs services grâce à la répartition globale de la charge des serveurs, qui dirige les utilisateurs vers le point de terminaison le plus proche.
Équilibrage de charge DNS : La pratique consistant à configurer un domaine dans le système de noms de domaine (DNS) afin que les requêtes des utilisateurs adressées à ce domaine soient réparties entre un groupe de serveurs est appelée « équilibrage de charge DNS ».
Équilibrage de charge réseau : Les contrôleurs de mise à disposition d’applications (ADC), des appliances physiques ou virtuelles faisant office de proxys pour les serveurs physiques, gèrent les fonctions applicatives ou réseau et s’appuient sur une solution d’équilibrage de charge réseau pour assurer leur fonctionnement. Les ADC utilisent également d’autres techniques, notamment la mise en cache, la compression et le déchargement du traitement SSL, afin d’améliorer les performances des applications web. Dans une configuration classique, l’ADC est placé devant un groupe de serveurs web et applicatifs et sert d’intermédiaire pour les requêtes et les réponses entre ces serveurs et leurs clients, de sorte que le groupe apparaît à l’utilisateur final comme un seul serveur virtuel.
Équilibrage de charge HTTP(S) : La technique qui consiste à répartir le trafic entre plusieurs groupes de serveurs web ou d’applications afin d’optimiser l’utilisation des ressources est appelée équilibrage de charge HTTP(S).
Équilibrage de charge interne : Un équilibreur de charge interne est affecté à un sous-réseau privé et ne dispose pas d’une adresse IP publique. Il fonctionne généralement au sein d’une ferme de serveurs.
Diameter : Un équilibreur de charge Diameter répartit le trafic de signalisation entre plusieurs serveurs d’un réseau. L’une des méthodes les plus rentables consiste à faire évoluer le plan de contrôle Diameter plutôt que la couche de transport des données. (L’équilibrage de charge Diameter peut également être statique ou dynamique.)
Technologie d’équilibrage de charge
Il existe d’autres types de solutions d’équilibrage de charge, qui peuvent être utilisées seules ou au sein d’un réseau comprenant des équilibreurs de charge natifs du cloud. En voici quelques exemples notables.
Équilibreur de charge matériel : Un équilibreur de charge matériel est un appareil physique doté d’un système d’exploitation spécialisé, qui peut être programmé pour répartir le trafic web entre plusieurs serveurs d’applications, généralement sur site.
Équilibreur de charge logiciel : Un équilibreur de charge logiciel fonctionne comme un équilibreur de charge physique, mais s’exécute sur des programmes logiciels. Le logiciel garantit la disponibilité des applications, quelles que soient les variations de trafic, en utilisant un équilibrage de charge statique et dynamique afin d’éliminer les points de défaillance uniques.
Équilibreur de charge virtuel : Un équilibreur de charge virtuel est un type d’équilibreur de charge qui combine des équilibreurs de charge matériels et logiciels. Il utilise un logiciel de contrôleur de mise à disposition d’applications qui aide à répartir la charge du trafic réseau entre les serveurs matériels back-end.
Comment F5 peut vous aider
- Trouver l’équilibreur de charge adapté aux besoins de votre organisation est essentiel pour garantir la disponibilité et l’optimisation de vos systèmes, l’accessibilité de vos données, ainsi que la satisfaction de vos utilisateurs et de vos clients.
- F5 peut répondre aux besoins spécifiques de votre organisation en matière d’équilibrage de charge, qu’il s’agisse d’une solution statique ou d’une solution globale intégrée combinant les atouts des équilibreurs de charge matériels, logiciels et basés dans le cloud. F5 propose un algorithme ou une solution d’équilibrage de charge adapté aux besoins spécifiques de votre entreprise.
- F5 NGINX Plus et NGINX sont des solutions d’équilibrage de charge de premier ordre utilisées par des sites web à fort trafic tels que Dropbox, Netflix et Zynga. Plus de 350 millions de sites web dans le monde font confiance à NGINX Plus et NGINX Open Source pour diffuser leur contenu rapidement, de manière fiable et sécurisée. En tant que contrôleur de mise à disposition d’applications et équilibreur de charge logiciel, NGINX Plus est nettement moins coûteux que les solutions matérielles offrant des fonctionnalités similaires. Il combine serveur web, équilibrage de charge, mise en cache, diffusion de contenus multimédias et bien plus encore, ce qui en fait un choix idéal pour contrôler la mise à disposition de vos applications.
- Les services applicatifs BIG-IP offrent une solution intégrée pour gérer, faire évoluer et optimiser vos services applicatifs numériques. De plus, BIG-IP Local Traffic Manager (LTM) inclut un équilibrage de charge statique et dynamique afin d’éliminer les points de défaillance uniques. F5 BIG-IP DNS étend l’équilibrage de charge à l’ensemble des applications et l’applique à l’échelle mondiale, garantissant ainsi que vos applications sont disponibles et répondent aux besoins de vos clients.
- F5 Distributed Cloud DNS Load Balancer fournit une solution simple d’équilibrage de charge avec une reprise après sinistre fiable, afin que vos équipes de développement puissent se concentrer sur l’innovation au service de votre entreprise.
- F5 Distributed Cloud App Connect contribue à l’équilibrage de charge en connectant de manière sécurisée vos applications et services dans tout type d’environnement, y compris en périphérie.
- F5 propose une gamme complète de solutions d’équilibrage de charge pour optimiser vos applications, votre trafic, vos données et vos ressources de calcul.

