Afin de gérer l'architecture du microservice, il est souvent utilisé avec un proxy inverse (tel que nginx ou apache httpd) et pour des questions transversales d'implémentation, un modèle de passerelle API est utilisé . Parfois, le proxy inverse fait le travail de la passerelle API.
Il sera bon de voir des différences claires entre ces deux approches. Il semble que l'avantage potentiel de l'utilisation de la passerelle API est d'appeler plusieurs microservices et d'agréger les résultats. Toutes les autres responsabilités de la passerelle API peuvent être implémentées à l'aide du proxy inverse.
- Authentification (Cela peut être fait à l'aide de scripts LUA nginx);
- Sécurité des transports. Il lui-même tâche de proxy inverse;
- L'équilibrage de charge
- ....
Donc, sur la base de cela, il y a plusieurs questions:
- Est-il judicieux d'utiliser simultanément la passerelle API et le proxy inverse (comme exemple de demande-> passerelle Api-> proxy inverse (nginx) -> mictoservice concret)? Dans quels cas?
- Quelles sont les autres différences qui peuvent être implémentées à l'aide de la passerelle API et ne peuvent pas être implémentées par le proxy inverse et vice versa?
la source
Je crois que API Gateway est un proxy inverse qui peut être configuré dynamiquement via API et potentiellement via l'interface utilisateur, tandis que le proxy inverse traditionnel (comme Nginx, HAProxy ou Apache) est configuré via un fichier de configuration et doit être redémarré lorsque la configuration change. Ainsi, API Gateway doit être utilisé lorsque les règles de routage ou d'autres configurations changent souvent. À vos questions:
De plus, API Gateway est souvent fourni sous forme de SAAS, comme Apigee ou Tyk par exemple.
Aussi, voici mon tutoriel sur la création d'une passerelle API simple avec Node.js https://memz.co/api-gateway-microservices-docker-node-js/
J'espère que ça aide.
la source
Les passerelles API fonctionnent généralement comme une construction L7.
Les passerelles API offrent des fonctionnalités supplémentaires par rapport à un proxy inverse simple. Si vous considérez certains des portails disponibles, ils peuvent fournir:
Cependant, avec l'avènement des maillages de service comme Istio, Consul une grande partie des fonctionnalités des passerelles API seront subsumées par des maillages.
la source