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?