Поделиться через


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

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

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

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

Выбор решения

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

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

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

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

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

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

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

Варианты использования

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

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

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

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

Варианты использования

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

Замечание

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

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

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

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

Случаи использования

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

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

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

  • Многоуровневые приложения
  • Глобальные веб-приложения с региональными внутренними службами
  • Платформы электронной коммерции
  • Службы потоковой передачи мультимедиа

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

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

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

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

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

Дальнейшие шаги