Введение
Использование интерфейса программирования приложений (API) в настоящее время распространено по разным причинам. Раскрытие услуг, интеграция со сторонними организациями, модернизация — вот некоторые распространенные случаи использования API. Миграция монолитного приложения в распределенную систему, такую как микросервисы, также является распространенным случаем использования API.
На рисунке 1 приведен пример монолитного приложения, которое взаимодействует с сервисным уровнем и базой данных. Во многих случаях для расширения круга потребителей этого приложения необходимо создание нескольких сервисов и использование более чем одного API.
![]() |
---|
Рисунок 1 — Монолитная и распределенная система |
Поэтому многие организации могут решить реализовать несколько API и предоставить их нескольким потребителям. Распределенная система в таких случаях может быть решением для контекстуализации API по мере роста бизнеса.
Работа с несколькими API
Рост числа API может привести к усложнению работы с этими API. API должны быть открыты и могут иметь различные конечные точки, они могут иметь множество типов аутентификации, кэширование и протоколирование ошибок может стать сложной задачей.
![]() |
---|
Рисунок 2 — Работа с несколькими API |
На рисунке 3 показан пример трех различных API с разными аутентификациями и конечными точками. Потребление этих API может создать дополнительные сложности для потребителей из-за многих типов аутентификации и нескольких префиксов конечных точек.
![]() |
---|
Рисунок 3 — Экспозиция и аутентификация |
Почему Azure API Management
Использование Azure API Management (APIM) может облегчить управление несколькими API в организации. APIM действует как прокси для нескольких внутренних API. Потребители не обращаются к внутренним API напрямую, они обращаются к конечной точке APIM, а она направляет их обратно к API.
![]() |
---|
Рисунок 4 — Azure API Management (APIM) |
Преимущества APIM
Существует несколько преимуществ использования APIM:
- Облегчает потребление клиентами API через порталы и ресурсы.
- Позволяет интегрировать Azure Active Directory для B2B и B2C.
- Имеет конфигурацию дросселирования для предотвращения злоупотребления вызовами API.
- Содержит политики с такими ресурсами, как mocking, кэширование ответов и т.д.
![]() |
---|
Рисунок 5 — Преимущества APIM |
Ресурсы APIM
Основными ресурсами, доступными в APIM, являются API Gateway, Azure Portal и Developer Portal. Рисунок 6 содержит подробную информацию об этих ресурсах.
![]() |
---|
Рисунок 6 — Ресурсы APIM |
Шлюз API, портал Azure Portal и портал для разработчиков
Шлюз API получает запросы API и направляет их на внутренний сервер. Он также осуществляет аутентификацию на внутреннем API. Он позволяет настраивать такие параметры, как ограничения на вызовы API и кэширование ответов от внутренних API. Рисунок 7 содержит некоторые детали маршрутизации от потребителя к внутреннему API.
![]() |
---|
Рисунок 7 — Шлюз API |
Портал azure позволяет импортировать и настраивать новые API, настраивать политики для API, устанавливать доступ пользователей и выполнять многие другие настройки.
Портал для разработчиков позволяет получить доступ к документации API. Он позволяет войти в учетную запись и получить доступ к ключам API. Он также позволяет тестировать API через веб-интерфейс.
Заключение
Существует множество других конфигураций и ресурсов, которые может предложить APIM, таких как продукты, подписки, группы, политики и т.д. Целью данного введения было помочь вам понять основы APIM и то, почему некоторые организации могут выбрать APIM в качестве шлюза API.