Мульти региональная активная активная архитектура
Распределите веб приложение между двумя регионами Azure в активной активной конфигурации, используя Azure Traffic Manager для перенаправления пользователей к ближайшей работоспособной конечной точке.
«Мульти региональная активная активная архитектура» — бесплатный урок Azure Fundamentals на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Azure Fundamentals, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Azure Fundamentals содержит 4 уроков всего.
За пределами одного региона
Даже при использовании зон доступности рабочая нагрузка, развёрнутая в одном регионе Azure, может пострадать из-за отказа региона — редкого, но возможного события, вызванного крупной катастрофой, сильным штормом или масштабным сбоем инфраструктуры. Для обеспечения максимального уровня доступности организации развёртывают рабочие нагрузки в двух или более регионах Azure, благодаря чему приложение продолжает обслуживать пользователей, даже если целый регион становится недоступным.
Активная-активная и активная-пассивная архитектуры
Существует два основных шаблона для нескольких регионов:
- Активная-активная — ресурсы в обоих регионах одновременно обслуживают рабочий трафик. Это повышает доступность и может также уменьшить задержку за счёт направления пользователей в ближайший регион.
- Активная-пассивная — ресурсы во вторичном регионе находятся в режиме ожидания и начинают получать трафик только после события переключения на резервный ресурс. Это обходится дешевле, но восстановление занимает больше времени.
Для обеспечения максимальной доступности предпочтителен подход активная-активная.
Обзор Azure Traffic Manager
Azure Traffic Manager — это глобальный балансировщик нагрузки на основе DNS, который распределяет трафик между конечными точками в разных регионах Azure (или локально). Он использует пробы работоспособности для мониторинга каждой конечной точки и методы маршрутизации (по производительности, с весами, по приоритету, географический и многозначный), чтобы определить, куда направлять трафик. Для конфигурации активная-активная используйте метод маршрутизации по производительности, чтобы направлять пользователей в ближайший работоспособный регион.
# Create a Traffic Manager profile:
az network traffic-manager profile create \
--resource-group myRG \
--name myTMProfile \
--routing-method Performance \
--unique-dns-name myapp-global
# Add endpoints for each region:
az network traffic-manager endpoint create \
--resource-group myRG \
--profile-name myTMProfile \
--name eastus-endpoint \
--type azureEndpoints \
--target-resource-id /subscriptions/.../publicIPAddresses/eastus-pipМетоды маршрутизации Traffic Manager
Traffic Manager поддерживает несколько методов маршрутизации для разных сценариев:
- Производительность — направляет трафик к конечной точке с наименьшей задержкой (лучший вариант для конфигурации активная-активная)
- Веса — распределяет трафик в соответствии с процентным весом (удобно для постепенного развёртывания)
- Приоритет — направляет весь трафик к основной конечной точке, переключаясь на вторичную при отказе (активная-пассивная конфигурация)
- Географический — направляет пользователей с учётом их географического положения (суверенитет данных)
Репликация данных между регионами
В архитектуре активная-активная данные необходимо реплицировать между регионами, чтобы пользователи в обоих регионах получали согласованные данные. Возможные варианты:
- Azure SQL Database с георепликацией — доступная для чтения вторичная база данных в другом регионе
- Azure Cosmos DB с записью в несколько регионов — все регионы одновременно принимают операции записи
- Azure Storage с GRS — асинхронная репликация во вторичный регион
Выбор зависит от требований к согласованности данных и доступности операций записи.
Cosmos DB для записи в несколько регионов
Azure Cosmos DB особенно хорошо подходит для архитектур активная-активная, поскольку поддерживает запись в несколько регионов — все настроенные регионы могут одновременно принимать операции записи. Cosmos DB использует настраиваемые уровни согласованности (от строгой до конечной), чтобы управлять синхронизацией реплик. Для сценариев активная-активная часто выбирают согласованность сеанса или ограниченную несвежесть данных, поскольку они обеспечивают баланс между производительностью и корректностью.
# Enable multi-region writes on a Cosmos DB account:
az cosmosdb update \
--resource-group myRG \
--name myCosmosAccount \
--enable-multiple-write-locations trueFront Door и Traffic Manager
И Traffic Manager, и Azure Front Door обеспечивают глобальную балансировку нагрузки, но на разных уровнях:
- Traffic Manager работает на основе DNS — он перенаправляет клиента к правильной региональной конечной точке, но соединение устанавливается напрямую с этой конечной точкой. Он работает на уровне DNS.
- Azure Front Door — это прокси с anycast-маршрутизацией: он завершает соединение клиента в глобальной точке присутствия и пересылает запрос к исходному серверу. Помимо маршрутизации, он предоставляет WAF, разгрузку SSL и кэширование.
Учет пар регионов
Microsoft назначает пары регионов для каждого региона Azure — вторичный регион в той же географии, расположенный достаточно далеко, чтобы пережить региональные катастрофы. При проектировании архитектур в нескольких регионах по возможности используйте парный регион в качестве вторичного. Во время планового обслуживания платформы обновляется только один регион из пары, что уменьшает вероятность одновременного сбоя.
# View Azure region pairs:
az account list-locations --query '[].{Name:name,Pair:metadata.pairedRegion[0].name}' --output tableСостояние сеанса в конфигурации активная-активная
В развёртываниях активная-активная запрос пользователя может обрабатываться разными регионами при разных обращениях. Если приложение хранит состояние сеанса в памяти веб-сервера, при переключении пользователя между регионами возникают проблемы. Решение — использовать распределённое хранилище сеансов, например Azure Cache для Redis с георепликацией, чтобы данные сеанса были доступны из любого региона.
Стоимость конфигурации активная-активная
Архитектура активная-активная дороже развёртывания в одном регионе, поскольку Вы запускаете полную копию инфраструктуры как минимум в двух регионах. Дополнительные расходы включают передачу данных между регионами, георепликацию баз данных, а также оплату Traffic Manager или Front Door. Проведите анализ затрат и выгод: для критически важных рабочих нагрузок стоимость простоя обычно намного превышает стоимость второго региона.
Тестирование переключения между регионами
Архитектуру активная-активная необходимо регулярно тестировать, чтобы убедиться в её работоспособности в нужный момент. Инструменты хаос-инжиниринга, такие как Azure Chaos Studio, позволяют искусственно создавать сбои — например, останавливать все виртуальные машины в одном регионе — и наблюдать за реакцией системы. Регулярное тестирование подтверждает, что пробы работоспособности Traffic Manager обнаруживают сбои, переключение выполняется в пределах Вашего RTO, а данные остаются согласованными между регионами.
Быстрая проверка
Проверьте своё понимание концепций Microsoft Azure Fundamentals (AZ-900) из этого урока.
Итоги урока
В этом уроке Вы узнали, что архитектура активная-активная одновременно развёртывает рабочие ресурсы в нескольких регионах для обеспечения максимальной доступности, Azure Traffic Manager направляет трафик с помощью методов по производительности, по приоритету, с весами или географического метода, а репликация данных (многорегиональная запись в Cosmos DB, георепликация SQL) необходима для согласованности данных между регионами. Далее мы рассмотрим пробы работоспособности и шаблоны плавного снижения функциональности.
Часто задаваемые вопросы
Урок «Мульти региональная активная активная архитектура» бесплатный?
Да — полный текст урока «Мульти региональная активная активная архитектура» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Azure Fundamentals, подпишись на CoddyKit PRO. Курс Azure Fundamentals содержит 4 уроков всего.
Чему я научусь в уроке «Мульти региональная активная активная архитектура»?
Распределите веб приложение между двумя регионами Azure в активной активной конфигурации, используя Azure Traffic Manager для перенаправления пользователей к ближайшей работоспособной конечной точке. Ты практикуешь Azure Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Azure Fundamentals?
Предыдущий опыт не требуется. Azure Fundamentals на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Мульти региональная активная активная архитектура»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Azure Fundamentals?
Да. Каждый урок Azure Fundamentals включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- SLA Azure и составные SLA
- Наборы доступности и зоны доступности
- Мульти региональная активная активная архитектура
- Проверки работоспособности и плавная деградация