Концепции

Основные понятия

API Gateway оперирует следующими взаимосвязанными сущностями:

Шлюз API

Интерфейс взаимодействия, который находится перед API группы микросервисов. Облегчает отправку запросов и доставку данных сервисов.

Назначения шлюза:

  • Выступать в качестве единой точки входа и стандартизированного процесса взаимодействия между различными сервисами организации в рамках одного сценария использования.

  • Выполнять функцию прослойки между API и базовой инфраструктурой.

  • Поддерживать и управлять использование API, включая авторизацию, ограничение числа запросов в единицу времени и другие службы.

Шлюз API является контейнером для правил. Все правила, размещенные в шлюзе, реализуют перенаправление запросов, отправленных на адрес шлюза API, к группе микросервисов. Адрес шлюза генерируется автоматически при создании шлюза и доступен в разделе Конфигурация.

Правило

Набор свойств, согласно которым обрабатываются запросы клиента к шлюзу API, в котором это правило создано, по заданным правилам соответствия HTTP-метода и URI запроса. Определяет сценарий обработки запросов, поступивших на выбранные URI шлюза API, а совокупность правил определяет всю логику пользовательского взаимодействия со шлюзом API.

К правилу можно привязать плагины, которые обогащают логику обработки запросов.

Плагин

Плагин — подключаемый модуль, реализующий расширенную логику, которая применяется между отправкой HTTP-запроса и получением ответа. Конфигурация плагина привязывается к правилу.

Плагины могут быть привязаны только к конкретному правилу и модифицируют выполнение только тех запросов, которые соответствуют настройкам правила. К каждому правилу могут быть привязаны все доступные плагины, но только по одному каждого типа.

Пример взаимосвязи объектов

Пример взаимосвязи сущностей, используемых в сервисе API Gateway, с псевдоданными представлена на схеме ниже.

Взаимосвязь сущностей API Gateway