Изучение шлюзов API

Завершено

Решение может содержать несколько интерфейсных и внутренних служб. В этом сценарии как клиент знает, какие конечные точки следует вызывать? Что происходит, когда появляются новые службы или проводится рефакторинг существующих служб? Как службы обрабатывают завершение SSL, проверку подлинности и другие проблемы?

Шлюз управления API (также называемый плоскость данных или среда выполнения) — это компонент службы, отвечающий за прокси-запросы API, применение политик и сбор данных телеметрии.

Шлюз API находится между клиентами и службами. Он выступает в качестве обратного прокси-сервера, маршрутизации запросов от клиентов к службам. Кроме того, он может выполнять различные перекрестные задачи, такие как проверка подлинности, завершение SSL и ограничение скорости. Если вы не развертываете шлюз, клиенты должны отправлять запросы непосредственно в серверные службы. Однако существуют некоторые потенциальные проблемы с предоставлением служб непосредственно клиентам:

  • Это может привести к сложному клиентскому коду. Клиент должен отслеживать несколько конечных точек и обрабатывать сбои в устойчивом режиме.
  • Он создает связь между клиентом и серверной частью. Клиент должен знать, как разложены отдельные службы. Это затрудняет обслуживание клиента, а также затрудняет рефакторинг служб.
  • Для одной операции может потребоваться вызовы нескольких служб.
  • Каждая общедоступная служба должна обрабатывать такие проблемы, как проверка подлинности, SSL и ограничение скорости клиента.
  • Службы должны предоставлять удобный для клиента протокол, например HTTP или WebSocket. Это ограничивает выбор протоколов связи.
  • Сервисы с общедоступными конечными точками являются потенциальной поверхностью атаки и должны быть усилены.

Шлюз помогает устранить эти проблемы, разделяя клиентов и сервисы.

Управляемые и самостоятельно размещённые

Управление API предлагает управляемые и локальные шлюзы:

  • Управляемые. Управляемый шлюз — это компонент шлюза по умолчанию, развернутый в Azure для каждого экземпляра службы управления API на каждом уровне служб. С помощью управляемого шлюза весь трафик API передается через Azure независимо от того, где размещаются серверные серверы, реализующие API.

  • самостоятельное размещение - Самостоятельно размещённый шлюз является необязательной контейнеризованной версией управляемого шлюза по умолчанию. Это полезно для гибридных и многооблачных сценариев, когда требуется запустить шлюзы из Azure в тех же средах, где размещаются серверные серверы API. Локальный шлюз позволяет клиентам с гибридной ИТ-инфраструктурой управлять API, размещенными локально и в облаках из одной службы управления API в Azure.