Узнайте, что такое Environment Group в Apigee X, как он работает, чем отличается от Environment и Virtual Host. Примеры, схемы и ответы на вопросы интервью.
Environment Group — это логический контейнер в Apigee X, который объединяет одну или несколько сред (Environments) и связывает их с одним или несколькими доменными именами (hostnames). Его основная цель — определить, какие среды могут принимать API-трафик для конкретного домена.
В Apigee X клиенты не обращаются напрямую к среде. Запрос приходит на домен, домен принадлежит Environment Group, и этот Environment Group направляет запрос в подходящую среду, где развернут API-прокси.
Например, у нас есть две среды: dev и test. Обе добавлены в Environment Group под названием non-prod. Домен api-nonprod.company.com привязан к этой группе. Любой запрос на https://api-nonprod.company.com/payment сначала попадает в Environment Group, которая проверяет связанные среды и направляет запрос к соответствующему API-прокси.
В Apigee Edge за публикацию API на домене отвечали Virtual Hosts. В Apigee X Google ввел Environment Groups, чтобы разделить управление доменами и управление средами. Это делает архитектуру более масштабируемой и облачной.
Представьте торговый центр. Здание — это Environment Group. Каждый магазин — это Environment. Вход в торговый центр — это домен. Клиенты входят через главный вход, а затем направляются в нужный магазин. Аналогично: клиент → домен → Environment Group → Environment → API-прокси. Клиент никогда не попадает в среду напрямую.
Клиент
|
|
api.company.com
|
|
Environment Group (Production Group)
|
-------------------------
| |
prod-env partner-env
| |
API Proxies API ProxiesПредположим, клиент вызывает GET https://api.company.com/orders. Поток:
Да. Например, Environment Group non-prod может включать среды dev, test и qa. Все они могут использовать домен api.company.com, если базовые пути уникальны. Например: dev — /payment, test — /orders, qa — /rewards. Конфликтов не будет.
Да. Например, группа Production с доменом api.company.com, группа Partner с доменом partner.company.com, группа Internal с доменом internal.company.com. У каждой группы свои домены.
Да. Например, среда prod может быть связана с группой A (домен api.company.com) и группой B (домен partner.company.com). Это полезно, когда одни и те же API нужно предоставить через разные домены.
Environment Groups прикрепляются к экземпляру Apigee (Apigee Instance). Иерархия: Apigee Organization → Apigee Instance → Environment Group → Environment → API-прокси.
Environment хранит развернутые API-прокси, содержит конфигурации API, здесь происходит выполнение рантайма. Примеры: prod, test.
Environment Group хранит домены, группирует одну или несколько сред, принимает трафик на основе домена. Пример: production-group.
В Apigee Edge использовались Virtual Hosts, которые настраивались внутри среды и были менее гибкими. В Apigee X Environment Groups — это отдельный ресурс, который обеспечивает большую масштабируемость.
Компания имеет: Production API (api.company.com), Partner API (partner.company.com), Internal API (internal.company.com). Конфигурация: группа Production → среда prod, группа Partner → среда partner, группа Internal → среда internal. Каждый домен направляет трафик только в свою среду.
Чтобы предоставлять одну или несколько сред через один или несколько доменов и определять, какие среды могут принимать трафик.
Environment содержит API-прокси, а Environment Group обеспечивает маршрутизацию по доменам и группирует среды.
Да, например, группа non-prod включает dev, test, qa.
Да, например, api.company.com, partner.company.com, internal.company.com — каждая принадлежит своей группе.
Да, это позволяет использовать одну среду через разные домены.
Возникает конфликт базовых путей. В пределах одной группы комбинация домена и базового пути должна быть уникальной. Нужно использовать разные пути или разделять среды по группам.
Теперь вы знаете, что Environment Group — это ключевой элемент маршрутизации в Apigee X. Чтобы закрепить знания, попробуйте создать Environment Group в тестовой среде Apigee, добавьте две среды с разными базовыми путями и настройте домен. Это поможет вам уверенно отвечать на вопросы интервью и проектировать архитектуру API.
Хочешь закрепить знания на практике?
Решай задачи на Algolit — интерактивная платформа для обучения
Начать бесплатно →