Passerelle API (API gateway)
La passerelle API est un point d'entrée unique pour toutes les requêtes des clients dans une architecture de microservices. Elle accepte les requêtes, les route vers les services nécessaires, assure l'authentification, la limitation du débit des requêtes, l'agrégation des réponses et d'autres fonctions transverses, délestant ainsi les microservices eux-mêmes.
Contents
Qu'est-ce qu'une passerelle API en termes simples
Une passerelle API (API gateway) est un serveur proxy inverse qui sert de point d'entrée unique pour toutes les requêtes des clients dans une architecture comportant de nombreux microservices. En termes simples, c'est le « gardien » et le « répartiteur » de votre service : il accepte toutes les requêtes des utilisateurs, détermine vers quel microservice les envoyer et retourne la réponse.
Imaginez un grand bureau avec de nombreux départements. Au lieu que le client fasse le tour de tous les services, il y a un standard d'accueil (la passerelle API). Le client dit ce dont il a besoin (une requête), le standard l'envoie au département concerné (microservice), reçoit la réponse et la transmet au client. Le client ne sait même pas dans quel département se trouve le spécialiste recherché — il communique simplement avec le standard.
En savoir plus sur le fonctionnement d'une architecture microservices dans l'article Architecture client-serveur.
Fonctions principales d'une passerelle API
- Routage : redirection d'une requête du client vers un microservice spécifique en fonction de l'URL, des en-têtes ou d'autres paramètres.
- Authentification et autorisation : vérification de l'identité de l'utilisateur et de ses droits d'accès avant que la requête n'atteigne le microservice.
- Limitation de débit (rate limiting) : protection des services contre les surcharges et les attaques DoS — limitation du nombre de requêtes d'un même client.
- Transformation des données : conversion des formats de requête et de réponse (par exemple, XML vers JSON), ajout ou suppression d'en-têtes HTTP.
- Agrégation des réponses : combinaison des données de plusieurs microservices en une seule réponse pour le client, afin qu'il n'ait pas à effectuer plusieurs requêtes.
- Supervision et journalisation : collecte de statistiques sur les requêtes, les temps de réponse et les erreurs pour l'analyse et le débogage.
- Répartition de charge : distribution des requêtes entre plusieurs instances d'un même microservice.
Solutions de passerelle API populaires
- Solutions cloud (gérées) : Yandex API Gateway, AWS API Gateway, Azure API Management, Google Cloud Endpoints. Des services prêts à l'emploi ne nécessitant pas de gestion d'infrastructure.
- Open Source : Kong, Traefik, Envoy, Tyk, NGINX. Déployables sur vos propres serveurs.
- Solutions on-premise : Apigee (Google), IBM API Connect. Plateformes complètes de gestion des API.
Comment fonctionne une passerelle API en pratique
- Le client envoie une requête à l'adresse de la passerelle API (par exemple, api.company.com).
- La passerelle API vérifie l'authentification — le client possède-t-il un jeton valide ? Sinon, elle renvoie une erreur 401.
- La passerelle API vérifie les droits d'accès — cet utilisateur peut-il effectuer l'action demandée ? Sinon, une erreur 403.
- La passerelle API vérifie les limites — le client a-t-il dépassé la limite de requêtes par minute ? Si oui, une erreur 429.
- Routage : par le chemin URL et la méthode HTTP, la passerelle détermine le microservice nécessaire (par exemple, /users vers le service utilisateurs, /orders vers le service commandes).
- Transformation : si nécessaire, la passerelle convertit la requête dans un format compréhensible pour le microservice.
- Transmission de la requête au microservice.
- Réception de la réponse du microservice.
- Agrégation : si besoin, la passerelle combine les réponses de plusieurs microservices.
- Transformation de la réponse : conversion de la réponse dans le format attendu par le client.
- Renvoi de la réponse au client.
En savoir plus sur la sécurité des API dans l'article WAF (pare-feu d'applications web).
Avantages de l'utilisation d'une passerelle API
- Point d'entrée unique : les clients ignorent l'existence des nombreux microservices — ils travaillent avec une seule API.
- Sécurité simplifiée : toutes les vérifications d'authentification et d'autorisation sont effectuées de manière centralisée.
- Charge réduite sur les microservices : les microservices ne gèrent ni l'authentification, ni les limites, ni la journalisation — ils exécutent uniquement leur logique métier.
- Flexibilité : vous pouvez modifier l'architecture backend (ajouter, supprimer, changer des microservices) sans affecter les clients.
- Évolutivité : possibilité de répartir la charge entre plusieurs instances de microservices.
Inconvénients d'une passerelle API
- Point de défaillance unique : si la passerelle API tombe en panne, tout le système devient indisponible.
- Latence : chaque requête passe par une « couche » supplémentaire, ce qui augmente le temps de réponse.
- Complexité de configuration : nécessite une configuration rigoureuse des routes, des règles de transformation et des politiques de sécurité.
En savoir plus sur la haute disponibilité dans l'article Cluster de serveurs.
Frequently asked questions
Qu’est-ce qu’une passerelle API (API gateway), en termes simples ?
Une passerelle API est un point d’entrée unique pour toutes les requêtes adressées aux microservices. Elle reçoit la requête, vérifie les droits de l’utilisateur, limite la fréquence des requêtes et la redirige vers le microservice approprié. Comme une banque d’accueil dans un grand immeuble de bureaux. Pour en savoir plus sur les microservices, consultez l’article Architecture client-serveur.
À quoi sert une passerelle API ?
Une passerelle API gère de manière centralisée l’authentification, l’autorisation, la limitation des requêtes, le routage, la transformation des données et l’agrégation des réponses. Cela décharge les microservices et simplifie la gestion des API. Pour en savoir plus sur la sécurité, consultez l’article WAF.
Quelles passerelles API existent ?
Cloud : Yandex API Gateway, AWS API Gateway, Azure API Management. Open Source : Kong, Traefik, Tyk, Envoy, NGINX. On-premise : Apigee, IBM API Connect. Le choix dépend de l’infrastructure et du budget. Pour découvrir des solutions, consultez l’article Serveur proxy.
En quoi une passerelle API diffère-t-elle d’un proxy ?
Un proxy ordinaire redirige simplement les requêtes « telles quelles ». Une passerelle API est un proxy « intelligent » : elle vérifie l’authentification, limite les requêtes, transforme les données, agrège les réponses de plusieurs services et collecte des analyses. Pour en savoir plus sur les proxys, consultez l’article Serveur proxy.
Une passerelle API est-elle un répartiteur de charge ?
Pas exactement. Un répartiteur de charge répartit la charge entre les instances d’un même service. Une passerelle API fait davantage : elle route entre différents services, vérifie les droits et transforme les données. Elle peut inclure l’équilibrage de charge, mais ce n’en est qu’une seule des fonctions. Pour en savoir plus sur l’équilibrage de charge, consultez l’article Cluster de serveurs.
Other terms in «Infrastructure»
Was this information helpful?
Build reliable IT infrastructure
Build a modern, fault-tolerant IT infrastructure. Design, equipment supply, installation and maintenance turnkey.