GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Qu'est-ce que l'équilibrage de charge ? Définition et fonctionnement

Présentation

Les sites Web et les applications modernes génèrent beaucoup de trafic et répondent simultanément à de nombreuses demandes de clients. L'équilibrage de charge permet de répondre à ces demandes et garantit une réponse rapide et fiable du site Web et de l'application.

Dans cet article, vous découvrirez ce qu'est l'équilibrage de charge, son fonctionnement et les différents types d'équilibrage de charge qui existent.

Définition de l'équilibrage de charge

L'équilibrage de charge distribue un trafic réseau élevé sur plusieurs serveurs, permettant aux organisations d'évoluer horizontalement pour répondre aux charges de travail à fort trafic. L'équilibrage de charge achemine les demandes des clients vers les serveurs disponibles pour répartir la charge de travail de manière uniforme et améliorer la réactivité des applications, augmentant ainsi la disponibilité du site Web.

L'équilibrage de charge s'applique aux couches 4 à 7 dans l'interconnexion de système ouvert à sept couches (OSI ) maquette. Ses capacités sont :

  • L4. Diriger le trafic en fonction des données du réseau et des protocoles de la couche de transport, par exemple, l'adresse IP et le port TCP.
  • L7 . Ajoute la commutation de contenu à l'équilibrage de charge, permettant des décisions de routage en fonction de caractéristiques telles que l'en-tête HTTP, l'identificateur de ressource uniforme, l'ID de session SSL et les données de formulaire HTML.
  • GSLB. L'équilibrage de charge global des serveurs étend les fonctionnalités L4 et L7 aux serveurs de différents sites.

Pourquoi l'équilibrage de charge est-il important ?

L'équilibrage de charge est essentiel pour maintenir le flux d'informations entre le serveur et les appareils des utilisateurs utilisés pour accéder au site Web (par exemple, ordinateurs, tablettes, smartphones).

L'équilibrage de charge présente plusieurs avantages :

  • Fiabilité. Un site Web ou une application doit fournir un bon UX même lorsque le trafic est élevé. Les équilibreurs de charge gèrent les pics de trafic en déplaçant efficacement les données, en optimisant l'utilisation des ressources de livraison d'applications et en empêchant les surcharges de serveur. De cette façon, les performances du site Web restent élevées et les utilisateurs restent satisfaits.
  • Disponibilité. L'équilibrage de charge est important car il implique des vérifications d'état périodiques entre l'équilibreur de charge et les machines hôtes pour s'assurer qu'elles reçoivent les demandes. Si l'une des machines hôtes est en panne, l'équilibreur de charge redirige la demande vers d'autres appareils disponibles.

    Les équilibreurs de charge suppriment également les serveurs défectueux de la piscine jusqu'à ce que le problème soit résolu. Certains équilibreurs de charge créent même de nouveaux serveurs d'applications virtualisés pour répondre à un nombre accru de requêtes.
  • Sécurité. L'équilibrage de charge devient une exigence dans la plupart des applications modernes, en particulier avec les fonctionnalités de sécurité supplémentaires à mesure que le cloud computing évolue. La fonction de déchargement de l'équilibreur de charge protège des attaques DDoS en transférant le trafic d'attaque vers un fournisseur de cloud public au lieu du serveur de l'entreprise.
  • Informations prédictives. L'équilibrage de charge inclut des analyses qui peuvent prédire les goulots d'étranglement du trafic et permettre aux organisations de les prévenir. Les informations prédictives stimulent l'automatisation et aident les entreprises à prendre des décisions pour l'avenir.

Comment fonctionne l'équilibrage de charge ?

Les équilibreurs de charge se situent entre les serveurs d'applications et les utilisateurs sur Internet. Une fois que l'équilibreur de charge reçoit une demande, il détermine quel serveur d'un pool est disponible, puis achemine la demande vers ce serveur.

En routant les requêtes vers les serveurs disponibles ou des serveurs avec des charges de travail inférieures, l'équilibrage de charge soulage les serveurs stressés et garantit une disponibilité et une fiabilité élevées.

Les équilibreurs de charge ajoutent ou suppriment dynamiquement des serveurs en cas de forte ou faible demande. De cette façon, il offre une flexibilité pour s'adapter à la demande.

L'équilibrage de charge fournit également un basculement en plus de booster les performances. L'équilibreur de charge redirige la charge de travail d'un serveur défaillant vers un serveur de secours, atténuant ainsi l'impact sur les utilisateurs finaux.

Types d'équilibrage de charge

Les équilibreurs de charge varient selon le type de stockage, la complexité de l'équilibreur et les fonctionnalités. Les différents types d'équilibreurs de charge sont expliqués ci-dessous.

Basé sur le matériel

Un équilibreur de charge matériel est un matériel dédié avec un logiciel propriétaire installée. Il peut traiter de grandes quantités de trafic provenant de divers types d'applications.

Les équilibreurs de charge matériels contiennent des fonctionnalités de virtualisation intégrées qui permettent plusieurs instances d'équilibreur de charge virtuel sur le même appareil.

Basé sur le logiciel

Un équilibreur de charge logiciel s'exécute sur des machines virtuelles ou des serveurs boîte blanche, généralement intégrés à ADC (contrôleurs de livraison d'applications). L'équilibrage de charge virtuel offre une flexibilité supérieure par rapport à l'équilibrage physique.

Les équilibreurs de charge logiciels s'exécutent sur des hyperviseurs, des conteneurs ou des processus Linux courants avec une surcharge négligeable sur un serveur bare metal.

Virtuel

Un équilibreur de charge virtuel déploie le logiciel propriétaire d'équilibrage de charge à partir d'un appareil dédié sur une machine virtuelle pour combiner les deux types mentionnés ci-dessus. Cependant, les équilibreurs de charge virtuels ne peuvent pas surmonter les défis architecturaux d'une évolutivité et d'une automatisation limitées.

Basé sur le cloud

L'équilibrage de charge basé sur le cloud utilise une infrastructure cloud. Voici quelques exemples d'équilibrage de charge basé sur le cloud :

  • Équilibrage de charge réseau . L'équilibrage de charge réseau repose sur la couche 4 et tire parti des informations de la couche réseau pour déterminer où envoyer le trafic réseau. L'équilibrage de charge réseau est la solution d'équilibrage de charge la plus rapide, mais il ne parvient pas à équilibrer la répartition du trafic entre les serveurs.
  • Équilibrage de charge HTTP(S) . L'équilibrage de charge HTTP(S) repose sur la couche 7. Il s'agit de l'un des types d'équilibrage de charge les plus flexibles, permettant aux administrateurs de prendre des décisions de répartition du trafic en fonction de toute information fournie avec une adresse HTTP.
  • Équilibrage de charge interne . L'équilibrage de charge interne est presque identique à l'équilibrage de charge réseau, sauf qu'il peut équilibrer la distribution dans l'infrastructure interne.

Algorithmes d'équilibrage de charge

Différents algorithmes d'équilibrage de charge offrent des avantages et une complexité différents, selon le cas d'utilisation. Les algorithmes d'équilibrage de charge les plus courants sont :

Tournoi à la ronde

Distribue les demandes séquentiellement au premier serveur disponible et déplace ce serveur à la fin de la file d'attente une fois terminé. L'algorithme Round Robin est utilisé pour des pools de serveurs égaux, mais il ne prend pas en compte la charge déjà présente sur le serveur.

Moins de connexions

L'algorithme Least Connections consiste à envoyer une nouvelle requête au serveur le moins occupé . La méthode de moindre connexion est utilisée lorsqu'il existe de nombreuses connexions persistantes inégalement réparties dans le pool de serveurs.

Temps de réponse minimum

L'équilibrage de charge avec le moins de temps de réponse distribue les requêtes au serveur avec le moins de connexions actives et avec la réponse moyenne la plus rapide temps à une demande de suivi sanitaire. La vitesse de réponse indique la charge du serveur.

Hachage

L'algorithme de hachage détermine où distribuer les requêtes en fonction d'une clé désignée , comme l'adresse IP du client, le numéro de port ou l'URL de la demande. La méthode Hash est utilisée pour les applications qui reposent sur des informations stockées spécifiques à l'utilisateur, par exemple, les paniers sur les sites Web de commerce électronique.

Chargement personnalisé

L'algorithme de chargement personnalisé dirige les requêtes vers des serveurs individuels via SNMP (Protocole de gestion de réseau simple). L'administrateur définit la charge du serveur que l'équilibreur de charge doit prendre en compte lors du routage de la requête (par exemple, l'utilisation du processeur et de la mémoire, et le temps de réponse).


Ubuntu
  1. Qu'est-ce que Hadoop Mapreduce et comment ça marche

  2. Qu'est-ce que Git Upstream et comment configurer une branche en amont

  3. Renforcement du VPN :qu'est-ce que c'est et comment le faire

  4. Qu'est-ce que Build-Essential-Ubuntu, comment l'installer et l'utiliser ?

  5. Qu'est-ce que le courrier et comment est-il navigué ?

Qu'est-ce que PPA dans Ubuntu et comment l'ajouter/le supprimer

Qu'est-ce qu'EasyApache et comment l'utiliser ?

Qu'est-ce que PPA dans Ubuntu Linux et comment les utiliser

Comment fonctionne un équilibreur de charge ? Qu'est-ce que l'équilibrage de charge ?

Qu'est-ce que DHCP et comment fonctionne DHCP ? (Les bases de DHCP expliquées)

Qu'est-ce que DNS et comment fonctionne DNS ? (Principes fondamentaux du serveur de noms de domaine)