Сведения о шлюзах API
Ваше решение может содержать несколько интерфейсных и серверных служб. Как в этом сценарии клиенту определить, какие конечные точки следует вызывать? Что происходит, когда появляются новые службы или выполняется рефакторинг существующих? Как службы обрабатывают завершение SSL-запросов, аутентификацию и другие операции?
Шлюз Управления API (также называемый плоскость данных или среда выполнения) — это компонент службы, отвечающий за использование прокси-сервера для запросов API, применение политик и сбор данных телеметрии.
Шлюз API находится между клиентами и службами. Он выполняет роль обратного прокси-сервера, который перенаправляет запросы от клиентов к службам. Он также может выполнять такие специализированные задачи, как аутентификация, завершение SSL-запросов и ограничение частоты. Если вы не развертываете шлюз, клиенты должны отправлять запросы непосредственно в серверные службы. Но при предоставлении клиентам непосредственного доступа к службам могут возникнуть некоторые проблемы.
- Это может усложнить клиентский код. Клиент должен отслеживать несколько конечных точек и обрабатывать ошибки, сохраняя отказоустойчивость.
- Так создается взаимозависимость между клиентом и сервером. Клиент должен знать, каким образом выполняется разбивка отдельных служб. Из-за этого усложняется поддержка клиента и выполнение рефакторинга служб.
- Для одной операции может потребоваться вызвать несколько служб.
- Каждая общедоступная служба должна обрабатывать такие операции, как аутентификация, SSL-запросы и ограничение частоты клиента.
- Службы должны предоставлять понятный для клиента протокол, например HTTP или WebSocket. Это ограничивает выбор протоколов связи.
- Службы с общедоступными конечными точками являются целью потенциальных атак и должны быть защищены.
Шлюз помогает решить эти проблемы, разделив клиенты и службы.
Управляемые и локальные шлюзы
Управления API предлагает как управляемые, так и локальные шлюзы.
Управляемый шлюз — это компонент шлюза по умолчанию, развернутый в Azure для каждого экземпляра Управления API на каждом уровне служб. При использовании управляемого шлюза весь трафик API проходит через Azure независимо от того, где размещаются серверные части, реализующие API.
Локальное размещение — локальный шлюз является необязательной контейнерной версией управляемого шлюза по умолчанию. Это полезно для гибридных и многооблачных сценариев, когда требуется запустить шлюзы из Azure в тех же средах, где размещаются серверные серверы API. Локальный шлюз позволяет клиентам с гибридной ИТ-инфраструктурой управлять API, размещенными локально и в облаках, из единой службы управления API в Azure.