Что такое балансировка нагрузки и доставка содержимого?

Шлюз приложений Azure, Azure Load Balancer и Azure Front Door являются основными сервисами Azure для балансировки нагрузки и доставки контента. Балансировка нагрузки распределяет входящий сетевой трафик между несколькими серверами или сервисами так, чтобы ни один сервер не был перегружен. Система доставки контента кэширует и распределяет контент по нескольким узлам, чтобы уменьшить задержку.

Вместе эти сервисы распределяют трафик по вашим бэкендам, чтобы приложения оставались высокодоступными, отзывчивыми и безопасными при разной нагрузке.

В этой статье сравниваются три сервиса и рассказывается, как выбрать подходящий вариант или подходящую комбинацию для вашей рабочей нагрузки.

Схема служб Azure, включая шлюз приложений, интерфейсную дверь и подсистему балансировки нагрузки.

Какая услуга балансировки нагрузки мне нужна?

Используйте следующие таблицы, чтобы сопоставить ваш сценарий с сервисом балансировки нагрузки Azure. Каждый сервис ориентирован на разные типы трафика и географический охват. Выберите сервис в столбце «Использовать », чтобы перейти к его обзору.

Мне нужно... Использовать
Балансировка нагрузки трафика TCP/UDP в одном регионе Azure Load Balancer: распределение нагрузки на уровне 4 с проверками работоспособности, зональной избыточностью и портами HA.
Завершение SSL/TLS, маршрутизация по URL-пути или имени узла и добавление WAF для регионального веб-приложения Шлюз приложений Azure: региональная балансировка нагрузки уровня 7 с интегрированным WAF (v2 SKU).
Направляйте трафик HTTP/HTTPS по всему миру, снижайте задержку с помощью пограничного кэширования или настраивайте автоматическое переключение при сбое между регионами Azure Front Door: глобальная маршрутизация Anycast с CDN, WAF и многорегиональными проверками работоспособности источников.

Tip

Для более глубоких рекомендаций по планированию — включая избыточность зон, автомасштабирование, зонды здоровья и многосервисные архитектуры — см. раздел «Доставка приложений и производительность» в руководстве по проектированию сетей Azure.

Сравните ключевые ограничения

Служба Уровень Объем Ключевое ограничение
Azure Load Balancer (балансировщик нагрузки Azure) Уровень 4 (TCP/UDP) Regional Нет осведомленности о приложении: не удается проверить заголовки HTTP, URL-адреса или файлы cookie.
Application Gateway Уровень 7 (HTTP/HTTPS) Regional Требуется выделенная подсеть (/24 рекомендуется); не может маршрутизировать трафик глобально.
Front Door Уровень 7 (HTTP/HTTPS) Глобальный Источники должны быть общедоступными или доступны только через Приватный канал (только уровень "Премиум"). Поддержка TCP/UDP не поддерживается.

Сравните возможности маршрутизации

Функциональность Azure Load Balancer (балансировщик нагрузки Azure) Application Gateway Front Door
Маршрутизация на основе URL-адресов Нет Yes Yes
Маршрутизация для нескольких сайтов (заголовок Host) Нет Yes Yes
Привязка сеансов на основе файлов cookie Нет Yes Yes
Взвешенное разделение трафика Нет Нет Yes
Географическая маршрутизация Нет Нет Yes
Разгрузка SSL/TLS Нет Yes Yes
Поддержка WebSocket Сквозной режим Yes Yes
Поддержка HTTP/2 Нет Yes Yes

Какие факторы стоит учитывать?

При выборе решения для балансировки нагрузки или доставки контента взвесьте следующие факторы:

  • Тип трафика: это веб-приложение HTTP/HTTPS? Это общедоступное или частное приложение?
  • Глобальный против регионального: необходимо ли балансировать нагрузку виртуальных машин или контейнеров в рамках одной виртуальной сети, или балансировать развертывания нагрузки между регионами, или делать и то и другое?
  • Доступность. Что такое соглашение об уровне обслуживания , необходимое для вашего решения?
  • Стоимость. Дополнительные сведения см. в ценах на Azure. Помимо стоимости самой службы, учитывайте расходы на управление решением, созданным на ее основе.
  • Функции: Какие функции требует ваше решение? Например, требуется разгрузка SSL, маршрутизация на основе URL-адресов или брандмауэр веб-приложения?

Azure предлагает несколько сервисов балансировки нагрузки и доставки контента, каждый из которых подходит для разных потребностей и сценариев.

Шлюз приложений Azure

Шлюз приложений Azure предоставляет контроллер доставки приложений как сервис, предлагая различные возможности балансировки нагрузки уровня 7 и функциональность межсетевого экрана веб-приложений. Используйте его для перехода из общедоступного сетевого пространства в веб-серверы, размещенные в частном сетевом пространстве в регионе.

Схема сценария маршрутизации шлюза приложений Azure.

Сценарии использования Шлюз приложений Azure

  • Балансировка нагрузки на веб-трафик: Выполняет функции балансировщика нагрузки на уровне приложений (уровень OSI 7), принимая решения о маршрутизации на основе атрибутов HTTP-запроса, таких как путь URL или заголовки хостов.
  • Завершение SSL: выгружает расшифровку SSL с внутренних серверов, уменьшая нагрузку и повышая производительность.
  • Брандмауэр веб-приложений (WAF): Защищает от распространённых веб-уязвимостей и атак, таких как SQL-инъекции и кросс-сайтовое скриптинг.
  • Маршрутизация на основе URL-адресов: направляет трафик в разные серверные пулы на основе URL-адреса, который полезен для архитектур микрослужб.

Начало:Создайте шлюз приложения с помощью портала Azure

Azure Load Balancer (балансировщик нагрузки Azure)

Azure Load Balancer — это высокопроизводительная служба балансировки нагрузки уровня 4 со сверхнизкой задержкой для входящего и исходящего трафика для всех протоколов UDP и TCP. Azure Load Balancer обрабатывает миллионы запросов в секунду, обеспечивая при этом высокую доступность вашего решения. Azure Load Balancer является зонально резервным, что обеспечивает высокую доступность во всех зонах доступности. Она поддерживает как топологию регионального развертывания, так и глобальную топологию.

Схема сценария маршрутизации Azure Load Balancer.

Сценарии использования Azure Load Balancer

  • Распределение трафика: Распределяет входящий сетевой трафик по группе бэкенд-ресурсов, таких как виртуальные машины (VM) или наборы масштабируемых виртуальных машин, с помощью алгоритма распределения нагрузки на основе хэша.
  • Высокий уровень доступности. Повышает доступность приложений путем распределения трафика в пределах и между зонами.
  • Внутренняя или общедоступная балансировка нагрузки: поддерживает как внутренние (в виртуальной сети), так и общедоступные (интернет-) сценарии балансировки нагрузки.
  • Низкая задержка и высокая пропускная способность: идеально подходит для приложений, требующих низкой задержки и высокой пропускной способности, например игр или приложений связи в режиме реального времени.

Замечание

Технологии кластеризации, такие как Контейнеры приложений Azure или Служба Azure Kubernetes, содержат конструкции балансировки нагрузки, которые в основном работают в пределах собственных границ кластера, направляя трафик к доступным экземплярам приложений на основе зондов готовности и состояния. В этой статье не рассматриваются эти параметры балансировки нагрузки.

Начать:Создайте публичный балансировщик нагрузки с помощью портала Azure

Azure Front Door (облачное сетевое решение от Microsoft)

Azure Front Door — это сеть доставки приложений, которая обеспечивает глобальную балансировку нагрузки и службу ускорения сайта для веб-приложений. Он предлагает возможности уровня 7 для приложения, таких как разгрузка SSL, маршрутизация на основе пути, быстрая отработка отказа и кэширование для повышения производительности и высокой доступности приложений.

Схема сценария маршрутизации Azure Front Door.

Примеры использования Azure Front Door

  • Глобальная доставка содержимого: доставка содержимого и приложений глобально с низкой задержкой с помощью глобальной пограничной сети Майкрософт.
  • Ускорение приложений: Повышает производительность приложений за счёт таких функций, как разделённые TCP-соединения и маршрутизация по одноадресной сети.
  • Безопасность. Обеспечивает защиту на уровне платформы от атак DDoS и интегрируется с брандмауэрами веб-приложений для повышения безопасности.
  • Современные архитектуры, ориентированные на интернет: поддерживают современные архитектуры с динамичным, качественным цифровым опытом и автоматизированными, защищёнными платформами.

Начать:Создать Azure Front Door с помощью портала Azure

Объединение служб

Вы можете объединить Azure Load Balancer, Шлюз приложений Azure и Azure Front Door, чтобы создать комплексное решение для балансировки нагрузки и доставки контента. Поскольку каждый сервис ориентирован на разный уровень и область применения, их объединение охватывает глобальную маршрутизацию, региональную веб-доставку и распространение бэкенда в одной архитектуре:

  • Многоуровневые приложения: используйте Шлюз приложений Azure для маршрутизации веб-уровня 7 и WAF, затем Azure Load Balancer для распределения уровня 4 по уровню серверной машины или базы данных.
  • Глобальные веб-приложения с региональными бэкендами: используйте Azure Front Door для глобальной маршрутизации HTTP/HTTPS, кэширования по краю и кэширования между регионами, при этом Шлюз приложений Azure обеспечивает региональную WAF и маршрутизацию на основе URL на каждом источнике.
  • Платформы электронной коммерции: Объедините Azure Front Door для глобального ускорения и защиты от DDoS с Шлюз приложений Azure и Azure Load Balancer для масштабирования региональных веб- и приложений в период пикового трафика.
  • Сервисы потокового контента: используйте Azure Front Door для кэширования и доставки контента рядом с пользователями, при этом Azure Load Balancer распределяет трафик между региональными стриминговыми серверами.

Взаимодействие с порталом Azure

Портал Azure предоставляет централизованный опыт выбора сервисов балансировки нагрузки и доставки контента. Вы можете создавать подсистемы балансировки нагрузки, шлюзы приложений и внешние двери на портале и управлять ими. Портал предоставляет интерактивный интерфейс для настройки служб, включая настройку правил маршрутизации, проб работоспособности и других параметров.

Снимок экрана: возможность выбора балансировки нагрузки и выбора содержимого на портале Azure.

Вы можете развертывать каждую службу и управлять ею из портала. Вы можете просматривать все шлюзы приложений, балансировщики нагрузки и ресурсы Front Door, развернутые в вашей подписке, в едином представлении. Затем можно выбрать ресурсы для управления.

Снимок экрана: управление подсистемой балансировки нагрузки на портале Azure.