API Gateway (APIG) — это ваш облачно‑нативный сервис шлюза. С APIG вы можете создавать, управлять и развёртывать API в любом масштабе для упаковки ваших возможностей. Всего за несколько кликов вы можете интегрировать внутренние системы, монетизировать сервисные возможности и выборочно открывать возможности с минимальными затратами и рисками. APIG помогает вам монетизировать сервисные возможности и снижать инвестиции в R&D, а также позволяет сосредоточиться на ключевых enterprise‑сервисах для повышения эффективности операций.
Рис. 1 Архитектура APIG

Жизненный цикл API включает создание, публикацию, удаление и удаление API. Управление жизненным циклом API позволяет быстро и эффективно раскрывать сервисные возможности.
APIG интегрирует входящий трафик (Kubernetes Ingress) и управление микросервисами (Kubernetes Gateway API) в один шлюз, повышая производительность, упрощая архитектуру и снижая затраты на развертывание и O&M.
С помощью встроенного инструмента отладки вы можете отлаживать API, используя различные HTTP-заголовки и тела запросов. Этот инструмент упрощает процесс разработки API и снижает затраты на разработку и обслуживание API.
API может быть опубликован в разных средах. Повторная публикация API в той же среде перезапишет предыдущую версию API. APIG отображает историю публикаций (включая версию, описание, дату и время, а также среду) каждого API. Вы можете откатить API к любой исторической версии, чтобы удовлетворить требования темного запуска и обновления версии.
Переменные среды управляемы и привязаны к конкретным средам. Переменные API заменяются значениями переменных в среде, где будет опубликован API. Вы можете создавать переменные в разных средах, чтобы вызывать разные бэкэнд‑сервисы с помощью одного API.
APIG обеспечивает визуализированный, в реальном времени мониторинг API и отображает несколько метрик, включая количество запросов, задержку вызова и количество ошибок. Метрики помогают вам понять использование API, позволяя выявлять потенциальные риски сервиса.
Каналы Virtual Private Cloud (VPC) (каналы балансировки нагрузки) могут быть созданы для доступа к ресурсам в VPC и публикации backend services, развернутых в VPC. Каналы VPC балансируют API‑запросы к backend services и могут быть подключены к серверам и центрам регистрации микросервисов. Поддерживаются политики балансировки нагрузки backend и тёмного запуска.
Mock backends имитируют API‑ответы для circuit breakers, деградации сервиса и перенаправления.
APIG поддерживает HTTP/2, который является крупным обновлением HTTP и изначально назывался HTTP 2.0. Он предоставляет возможности такие как бинарное кадрирование, мультиплексирование и компрессия заголовков, улучшая производительность передачи для достижения низкой задержки и высокой пропускной способности.
В отличие от HTTP 1.x, где данные передаются в текстовом формате, данные в HTTP 2.0 разбиваются на сообщения и фреймы для бинарного кодирования. По сравнению с разбором строк (текст), бинарный разбор проще, менее подвержен ошибкам и обеспечивает более высокую производительность передачи.
С бинарным кодированием HTTP 2.0 больше не использует несколько соединений для одновременной обработки и отправки запросов и ответов.
Для одного и того же доменного имени все запросы выполняются через одно соединение, и каждое соединение может обрабатывать любое количество сообщений. Сообщение состоит из одного или нескольких фреймов, которые могут передаваться в произвольном порядке и затем объединяться на основе stream ID в заголовке каждого фрейма. Это сокращает задержку и повышает эффективность.
HTTP 2.0 использует кодировщик для уменьшения размера передаваемых заголовков. Как клиент, так и сервер хранят таблицу полей заголовков, чтобы избегать повторной передачи одинаковых заголовков, достигая высокой пропускной способности.