Сведения о шлюзах API

Завершено

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

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

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

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

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

Управляемые и локальные шлюзы

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

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

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