API Gateway vs Load Balancer : tout ce que vous devez savoir (2023)

Les applications Web ou les API exposées sur le réseau sont exposées à un trafic réseau potentiellement énorme ainsi qu'à un large éventail de menaces de sécurité. Afin de faire face à de tels scénarios, diverses mesures sont prises. Du côté back-end ; l'évolutivité est obtenue en formant un cluster de serveurs en fonction de la charge attendue. Avec plusieurs serveurs offrant le même service ; Des actions liées à l'équilibrage de charge et à la gestion des API sont également nécessaires pour obtenir une architecture sophistiquée, évolutive et efficace. API Gateway et Load Balancers sont les premiers choix à cet égard. CePasserelle API vs équilibreur de chargeL'article aborde les deux concepts en détail et explique les cas d'utilisation des deux.

Qu'est-ce qu'un équilibreur de charge ?

Load Balancer est une solution logicielle ou matérielle qui vise à répartir la charge entre plusieurs serveurs de manière à ce que les demandes des clients soient traitées de la meilleure manière possible sans surcharger un seul serveur. La charge du réseau est équilibrée entre plusieurs serveurs d'un cluster en fonction d'un algorithme d'équilibrage spécifique. Load Balancer agit comme un agent de la circulation sur un passage à niveau pour diriger les voitures sur le chemin à suivre.

L'équilibreur de charge peut être un logiciel ou un matériel. Dans les deux cas, l'objectif principal d'un équilibreur de charge est d'obtenir un meilleur débit, une utilisation efficace des ressources et d'améliorer la disponibilité. En plus d'assurer une distribution efficace du trafic réseau entre plusieurs serveurs, les équilibreurs de charge sont également équipés des fonctionnalités supplémentaires suivantes :

  • La plupart des équilibreurs de charge prennent en charge les sessions persistantes via la persistance de session. Il garantit que les demandes d'un client particulier sont toujours acheminées vers le même serveur principal, en maintenant l'état de la session et en garantissant une expérience utilisateur cohérente.
  • L'équilibreur de charge sert également la fonctionnalité de vérification de l'état. Il vérifie le rythme cardiaque de tous les serveurs d'un pool et supprime temporairement ou définitivement tous les serveurs qui ne répondent pas du pool. Cela aide également à atteindre la tolérance aux pannes.
  • Les équilibreurs de charge fournissent également une fonctionnalité de déchargement SSL (également appelée terminaison SSL). Le trafic HTTPS basé sur SSL est ensuite acheminé vers des serveurs principaux sans avoir de surcharge supplémentaire liée à SSL sur les serveurs principaux.
  • Les fonctionnalités de routage basées sur le contenu sont également disponibles dans les équilibreurs de charge. Ces fonctionnalités sont disponibles dans les équilibreurs de charge modernes avancés. Le contenu peut être acheminé dynamiquement et intelligemment en fonction de l'URL, des en-têtes ou des conditions spécifiques au contenu.

Types d'algorithmes d'équilibrage de charge

Pour équilibrer efficacement la charge entre les serveurs disponibles ; les équilibreurs de charge peuvent utiliser l'un des algorithmes suivants :

  • Tournoi à la ronde :Le trafic réseau est acheminé uniformément entre tous les serveurs disponibles. Les serveurs disponibles sont considérés un par un dans l'ordre pour les demandes des clients.
  • Tournoi à la ronde pondéré :Les serveurs du pool disponible se voient attribuer une pondération basée sur les performances et la capacité. Les requêtes sont ensuite acheminées en fonction des pondérations attribuées : plus la pondération est élevée, plus le trafic est élevé.
  • Moins de connexions :Cet algorithme prend en compte le nombre de connexions actives pour le routage des demandes des clients. Le serveur avec la connexion la moins active est prioritaire.
  • Temps de réponse minimum :À l'aide de cet algorithme, l'équilibreur de charge achemine le trafic vers les serveurs en fonction du temps de réponse. Le serveur avec le temps de réponse le plus bas est prioritaire.
  • Hachage IP :L'algorithme IP Hash utilise l'adresse IP du client pour déterminer à quel serveur envoyer la requête. La valeur de hachage est calculée à partir de l'adresse IP du client et utilisée par l'équilibreur de charge pour sélectionner un serveur dans le pool disponible. Cela garantit que les demandes provenant de la même adresse IP sont acheminées de manière cohérente vers le même serveur, ce qui peut être utile pour maintenir la persistance de la session.
  • Adaptatif Dynamique :Cet algorithme d'équilibrage de charge prend des décisions de routage dynamiques et intelligentes en fonction de diverses mesures clés telles que l'utilisation des ressources du processeur, le bilan de santé, le temps de réponse, etc. La charge est répartie en temps réel à l'aide de ces facteurs décisifs.
  • Aléatoire:Il s'agit de l'approche de routage la plus simple (et la plus stupide également) dans laquelle le trafic réseau est distribué de manière aléatoire parmi le pool de serveurs disponibles. La décision de routage est prise sans tenir compte de facteurs spécifiques et, par conséquent, cet algorithme peut ne pas équilibrer efficacement le trafic réseau.

Qu'est-ce que la passerelle API ?

Une passerelle API est un logiciel qui agit comme un contrôleur d'accès en se situant aux points d'entrée entre les clients et les services backend. DiversGestion des APIles fonctionnalités sont fournies par une API Gateway. L'accès aux API principales est contrôlé, géré et régi par l'utilisation d'API Gateway et de ses capacités de gestion d'API associées.

API Gateway peut aider à obtenir de meilleures performances en déchargeant les serveurs principaux de nombreuses fonctionnalités. Tous les appels d'API sont interceptés au point d'entrée et différentes actions peuvent être effectuées pour séparer, agréger, gérer, contrôler, limiter, enrichir et filtrer le trafic avant qu'il ne soit acheminé vers les serveurs principaux.

Passerelles API dans le cadre dePlateformes de gestion d'APIsont également équipés de nombreuses autres fonctionnalités. Vous pouvez configurer différents types de politiques d'API telles que la limitation de débit, la limitation, l'authentification, l'autorisation, la transformation de protocole, la transformation de format de données, etc. au niveau de la passerelle. La plupart des passerelles API fournissent également les fonctionnalités de sécurité nécessaires, comme expliqué dans cevidéo.

API Gateway vs Load Balancer : Quelle est la différence entre API Gateway et Load Balancer ?

La passerelle API et l'équilibreur de charge jouent tous deux un rôle important dans des cas d'utilisation spécifiques. Maintenant que nous avons discuté en détail d'API Gateway et de Load Balancer, la différence entre les deux peut être facilement établie.

Voici quelques-unes des principales différences entre API Gateway et Load Balancer.

  • Une passerelle API en tant que point d'entrée fournit une grande variété de fonctionnalités de gestion d'API. D'autre part, Load Balancer fournit principalement la fonctionnalité de routage du trafic réseau pour équilibrer la charge entre plusieurs serveurs principaux.
  • Une passerelle API est toujours une solution logicielle, tandis qu'un équilibreur de charge peut être soit un logiciel, soit un matériel.
  • La plupart des passerelles API fournies par différentes plates-formes de gestion d'API sont également équipées d'un équilibrage de charge. D'autre part, les équilibreurs de charge ne fournissent à eux seuls aucune fonctionnalité supplémentaire de gestion ou de gouvernance des API.
  • La passerelle API et les équilibreurs de charge diffèrent également du contexte de l'objectif. Une passerelle API est envisagée pour les cas d'utilisation où vous devez gérer l'intégralité du cycle de vie de l'API. D'autre part, les équilibreurs de charge sont choisis là où l'équilibrage de la charge est la seule exigence majeure.
  • En règle générale, API Gateway est un choix préféré dans l'architecture Microservices où vous devez gérer, surveiller, gouverner et contrôler le trafic pour un ensemble d'API. L'équilibreur de charge seul dans de tels scénarios n'est pas une option préférée.

API Gateway a-t-il besoin d'un équilibreur de charge ?

Avec la gestion des API en place, il n'est généralement pas nécessaire d'avoir un équilibreur de charge logiciel/matériel séparé. La plupart des passerelles API sont équipées d'équilibreurs de charge intégrés. Donc, essentiellement, API Gateway contient lui-même un petit équilibreur de charge. Le routage du trafic d'API vers les serveurs principaux à partir de la passerelle d'API se produit en fonction des configurations d'algorithme de routage pour chaque API.

Lorsque vous configurez API Gateway pour gérer des volumes de trafic élevés ou disposez de plusieurs ressources principales, il met automatiquement à l'échelle et provisionne les ressources nécessaires pour gérer la charge. Cela élimine le besoin d'un équilibreur de charge supplémentaire devant API Gateway. L'équilibreur de charge intégré dans API Gateway est capable de fournir à la fois des fonctionnalités d'équilibrage de charge et de tolérance aux pannes.

Cependant, il peut y avoir des cas d'utilisation spécifiques où vous pouvez toujours opter pour un équilibreur de charge dédié au niveau du réseau en plus de la passerelle API. Différentes plates-formes de gestion d'API disponibles sur le marché ont des capacités différentes. Il peut y avoir des cas où vous utilisez une plate-forme de gestion d'API qui ne fournit pas suffisamment de capacités d'équilibrage de charge. Avoir un équilibreur de charge dédié peut vous aider à combler efficacement un tel écart. Dans cette situation, le trafic API sera acheminé par l'équilibreur de charge vers le cluster API Gateway. Par la suite, le trafic ira vers les serveurs principaux.

API Gateway vs Load Balancer: tout ce que vous devez savoir (2)

Ajmal Abbassi

Ajmal Hussain Abbasi est consultant en intégration de profession avec plus de 12 ans d'expérience dans le domaine de l'intégration, principalement avec les produits TIBCO. Il possède une connaissance pratique approfondie de TIBCO Business Works, TIBCO Cloud, TIBCO Flogo, TIBCO Mashery, TIBCO Spotfire, EMS et TIBCO ActiveSpaces. Il a travaillé sur un certain nombre de projets d'intégration très critiques dans divers secteurs en utilisant ses compétences dans TIBCO Flogo, TIBCO API Management (Mashery), TCI, Tibco Designer, TIBCO Business Studio, Adapters, TIBCO EMS, RV, Administrator, TIBCO BE, TIBCO ActiveSpaces, etc. Ajmal Abbasi a également de l'expérience avec MuleSoft ESB. Ajmal Abbasi est également expérimenté dans le domaine de la gestion des API, en particulier avec les plates-formes de gestion des API WSO2. Ajmal Abbasi est également expérimenté dans le développement de solutions utilisant les technologies Core Java et J2EE. Vous pouvez contacter Ajmal Abbasi pour des conseils, une assistance technique et des discussions techniques.

Plus de messages-Site Internet-Facebook-LinkedIn-Youtube

References

Top Articles
Latest Posts
Article information

Author: Lilliana Bartoletti

Last Updated: 07/08/2023

Views: 5251

Rating: 4.2 / 5 (53 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Lilliana Bartoletti

Birthday: 1999-11-18

Address: 58866 Tricia Spurs, North Melvinberg, HI 91346-3774

Phone: +50616620367928

Job: Real-Estate Liaison

Hobby: Graffiti, Astronomy, Handball, Magic, Origami, Fashion, Foreign language learning

Introduction: My name is Lilliana Bartoletti, I am a adventurous, pleasant, shiny, beautiful, handsome, zealous, tasty person who loves writing and wants to share my knowledge and understanding with you.