Aby poradzić sobie z architekturą mikrousług, jest często używany razem z odwrotnym serwerem proxy (takim jak nginx lub apache httpd), aw przypadku problemów związanych z cięciem krzyżowym używany jest wzorzec bramy API . Czasami Reverse proxy wykonuje pracę bramy API.
Dobrze będzie zobaczyć wyraźne różnice między tymi dwoma podejściami. Wygląda na to, że potencjalną korzyścią z użycia bramy interfejsu API jest wywoływanie wielu mikrousług i agregowanie wyników. Wszystkie inne obowiązki API Gateway można zaimplementować za pomocą Reverse Proxy, takich jak:
- Uwierzytelnianie (można to zrobić za pomocą skryptów Nginx LUA);
- Bezpieczeństwo transportu. To samo zadanie Reverse Proxy;
- Równoważenie obciążenia
- ....
Na tej podstawie powstaje kilka pytań:
- Czy ma sens jednoczesne używanie bramy API i Reverse proxy (na przykład żądanie-> brama API-> reverse proxy (nginx) -> konkretna usługa mictoservice)? W jakich przypadkach?
- Jakie inne różnice można zaimplementować za pomocą bramy interfejsu API, a których nie można zaimplementować przez Reverse proxy i odwrotnie?
źródło
Uważam, że API Gateway to odwrotne proxy, które można skonfigurować dynamicznie za pośrednictwem interfejsu API i potencjalnie za pośrednictwem interfejsu użytkownika, podczas gdy tradycyjne odwrotne proxy (takie jak Nginx, HAProxy lub Apache) jest konfigurowane za pomocą pliku konfiguracyjnego i musi zostać ponownie uruchomione po zmianie konfiguracji. Dlatego bramy interfejsu API należy używać w przypadku częstych zmian reguł routingu lub innej konfiguracji. Na Twoje pytania:
Ponadto API Gateway jest często dostarczane w postaci SAAS, na przykład Apigee lub Tyk .
Oto mój samouczek dotyczący tworzenia prostej bramy API za pomocą Node.js https://memz.co/api-gateway-microservices-docker-node-js/
Mam nadzieję, że to pomoże.
źródło
Bramy API zwykle działają jako konstrukcja L7.
Bramy interfejsu API zapewniają dodatkowe funkcje w porównaniu do zwykłego zwrotnego serwera proxy. Jeśli weźmiesz pod uwagę niektóre portale, które mogą zapewnić:
Jednak wraz z pojawieniem się siatek usług, takich jak Istio, Consul wiele funkcji bram interfejsu API zostanie objętych przez siatki.
źródło