API-Gateway vs. Reverse-Proxy
Im Hinblick auf den Umgang mit dem microservice-Architektur, ist es oft verwendet, neben einem Reverse Proxy (z.B. nginx oder apache-httpd) und für die cross-cutting-concerns Umsetzung API-gateway-pattern benutzt wird. Manchmal Reverse-proxy funktioniert der API-gateway.
Es wird gut sein, um zu sehen, deutliche Unterschiede zwischen diesen beiden Ansätzen.
Es sieht aus wie der potenzielle nutzen der API-gateway-Nutzung beschwört mehreren microservices und Aggregation der Ergebnisse. Alle anderen Verantwortung der API-gateway implementiert werden kann, mit dem Reverse-Proxy.Wie:
- - Authentifizierung (Es kann getan werden, mithilfe von nginx LUA-Skripte);
- - Transport-Sicherheit. Selbst Reverse-Proxy-Aufgabe;
- Load balancing
- ....
Also auf dieser Basis gibt es mehrere Fragen:
- Macht es Sinn, nutzen, API gateway und Reverse-proxy-simultan (als Beispiel einer Anforderungs->Api-gateway-> reverse-proxy(nginx)-> konkrete mictoservice)? In welchen Fällen ?
- Was die anderen Unterschiede, die implementiert werden können unter Verwendung der API-gateway und kann nicht umgesetzt werden, durch Reverse-proxy und Umgekehrt ?
InformationsquelleAutor der Frage user1459144 | 2016-03-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es einfacher, über Sie nachdenken, wenn Sie merken, dass Sie nicht gegenseitig ausschließen. Denken Sie an ein API-gateway, als eine bestimmte Art reverse proxy-Implementierung.
In Bezug auf Ihre Fragen, ist es nicht ungewöhnlich, um zu sehen, die beide in Verbindung, wo Sie das API-gateway wird behandelt wie ein tier-Anwendung, die sich hinter einem reverse-proxy-load balancing und Gesundheit überprüfen. Ein Beispiel wäre so etwas wie eine WAF-sandwich-Architektur, die Ihre Web-Application-Firewall-API-Gateway ist eingebettet von reverse-proxy-Ebenen, eine für die WAF-sich selbst und die anderen für die einzelnen microservices es spricht.
Bezug auf die Unterschiede, Sie sind sich sehr ähnlich. Es ist nur Nomenklatur. Wie Sie eine grundlegende reverse-proxy-setup und starten Sie die Schrauben an weitere Stücke wie Authentifizierung, rate limiting, dynamische config updates und service discovery sind die Menschen eher zu rufen, dass ein API-gateway.
InformationsquelleAutor der Antwort Justin Talbott
Ich glaube, API-Gateway ist ein reverse-proxy kann so konfiguriert werden dynamisch per API und möglicherweise über die Benutzeroberfläche, während die traditionellen reverse-proxy wie Nginx, HAProxy oder Apache) konfiguriert ist per config Datei und muss neu gestartet werden, wenn änderungen an der Konfiguration. Also, API-Gateway verwendet werden soll, wenn die routing-Regeln oder andere Konfiguration ändert sich oft. Zu deinen Fragen:
Zusätzlich, API-Gateway wird Häufig in form von SAAS, wie Apigee oder Tyk zum Beispiel.
Auch, hier ist mein tutorial zum erstellen eines einfachen API-Gateway mit Node.js https://memz.co/api-gateway-microservices-docker-node-js/
Hoffe, es hilft.
InformationsquelleAutor der Antwort Andrey Chausenko