Чтобы иметь дело с архитектурой микросервисов, он часто используется вместе с обратным прокси (например, nginx или apache httpd), а для сквозных проблем используется шаблон шлюза API для реализации . Иногда обратный прокси выполняет работу шлюза API.
Было бы хорошо увидеть четкие различия между этими двумя подходами. Похоже, что потенциальная выгода от использования шлюза API - это вызов нескольких микросервисов и агрегирование результатов. Все остальные функции шлюза API могут быть реализованы с помощью обратного прокси, например:
- Аутентификация (это можно сделать с помощью скриптов nginx LUA);
- Транспортная безопасность. Это сама задача обратного прокси;
- Балансировки нагрузки
- ....
Исходя из этого, возникает несколько вопросов:
- Имеет ли смысл использовать шлюз API и обратный прокси одновременно (например, запрос-> шлюз API-> обратный прокси (nginx) -> конкретный микосервис)? В каких случаях?
- Какие еще отличия могут быть реализованы с использованием шлюза API и которые не могут быть реализованы с помощью обратного прокси и наоборот?
источник
Я считаю, что API Gateway - это обратный прокси-сервер, который можно динамически настраивать через API и, возможно, через пользовательский интерфейс, в то время как традиционный обратный прокси (например, Nginx, HAProxy или Apache) настраивается через файл конфигурации и должен быть перезапущен при изменении конфигурации. Таким образом, API Gateway следует использовать при частом изменении правил маршрутизации или другой конфигурации. На ваши вопросы:
Кроме того, API Gateway часто предоставляется в форме SAAS, например Apigee или Tyk. .
Кроме того, вот мой учебник о том, как создать простой API-шлюз с Node.js https://memz.co/api-gateway-microservices-docker-node-js/
Надеюсь, поможет.
источник
Шлюзы API обычно работают как конструкция L7.
Шлюзы API предоставляют дополнительную функциональность по сравнению с обычным обратным прокси-сервером. Если вы рассмотрите некоторые из имеющихся порталов, они могут предоставить:
Однако с появлением таких сервисных сеток, как Istio, Consul, многие функции API-шлюзов перейдут на сетку.
источник