Варианты балансировки нагрузки

Azure Load Balancer
Azure Front Door
Шлюз приложений Azure
Azure Traffic Manager

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

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

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

Классификации служб

Службы балансировки нагрузки Azure можно разделить на два измерения: глобальные и региональные и HTTP(S) и не HTTP(S).

Глобальный и региональный

  • Global: эти службы балансировки нагрузки распределяют трафик между региональными внутренними серверами, облаками или гибридными локальными службами. Эти службы направляют трафик конечных пользователей к ближайшей доступной внутренней части. Они также реагируют на изменения надежности службы или производительности, чтобы повысить доступность и производительность. Их можно рассматривать как системы, которые распределяют нагрузку между единицами масштабирования приложений, конечными точками или единицами масштабирования, размещенными в разных регионах и географических областях.
  • Регион. Эти службы балансировки нагрузки распределяют трафик в виртуальных сетях между виртуальными машинами или зональными и зональными конечными точками службы, избыточными между зонами в пределах региона. Их можно рассматривать как системы, которые выполняют балансировку нагрузки между виртуальными машинами, контейнерами или кластерами в пределах региона в виртуальной сети.

HTTP(S) и не HTTP(S)

  • HTTP(S): эти службы балансировки нагрузки — это подсистемы балансировки нагрузки уровня 7 , которые принимают только трафик HTTP(S). Они предназначены для веб-приложений или других конечных точек HTTP(S). К ним относятся такие функции, как разгрузка SSL, брандмауэр веб-приложений, балансировка нагрузки на основе пути и сходство сеансов.
  • Не http(S): эти службы балансировки нагрузки могут обрабатывать трафик, отличный от HTTP(S), и мы рекомендуем их для рабочих нагрузок, отличных от веб-сайта.

В следующей таблице перечислены службы балансировки нагрузки Azure.

Service Глобальный или региональный Рекомендуемый трафик
Azure Front Door Глобальный HTTP(S)
Диспетчер трафика Azure Глобальный Без поддержки HTTP(S)
Шлюз приложений Azure Региональный HTTP(S)
Azure Load Balancer Региональные или глобальные Без поддержки HTTP(S)

Службы балансировки нагрузки Azure

Ниже приведены основные службы балансировки нагрузки, доступные в Azure:

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

    Примечание.

    В настоящее время Azure Front Door не поддерживает веб-сокеты.

  • Диспетчер трафика — это подсистема балансировки нагрузки на основе DNS, которая позволяет оптимально распределять трафик между службами в глобальных регионах Azure, обеспечивая высокую доступность и скорость реагирования. Так как Диспетчер трафика является службой балансировки нагрузки на основе DNS, балансировка нагрузки выполняется только на уровне домена. По этой причине он не может выполнять отработку отказа так быстро, как Azure Front Door, из-за распространенных проблем, возникающих при кэшировании DNS и системах, не использующих DNS-TTLs.

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

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

Выбор решения балансировки нагрузки с помощью портал Azure

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

  1. Войдите на портал Azure.

  2. В поле "Поиск ресурсов, служб и документов" в верхней части портала введите балансировку нагрузки. Когда балансировка нагрузки отображается в результатах поиска, выберите ее.

    Screenshot that shows searching for load balancing in the Azure portal.

    Примечание.

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

  3. На странице балансировки нагрузки — помогите мне выбрать (предварительная версия) используйте один из следующих вариантов:

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

      Screenshot that shows choosing an Azure load-balancing solution in the Azure portal.

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

    • Чтобы получить доступ к бесплатному обучению для служб балансировки нагрузки, перейдите на вкладку "Учебник ".

Примеры эталонной архитектуры

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

Службы Статья Описание
Load Balancer Балансировка нагрузки виртуальных машин между зонами доступности Балансировка нагрузки виртуальных машин между зонами доступности для защиты приложений и данных от маловероятного сбоя или потери всего центра обработки данных. При избыточности зоны одна или несколько зон доступности могут завершиться ошибкой, и путь к данным сохраняется до тех пор, пока одна зона в регионе остается работоспособной.
Azure Front Door Совместное использование расположения в реальном времени с помощью бессерверных служб Azure с низкой стоимостью Используйте Azure Front Door, чтобы обеспечить более высокую доступность для приложений, чем развертывание в одном регионе. Если региональный сбой влияет на основной регион, вы можете использовать Azure Front Door для отработки отказа в дополнительный регион.
Диспетчер трафика Многоуровневое веб-приложение, созданное для обеспечения высокой доступности и аварийного восстановления Развертывание устойчивых многоуровневых приложений, созданных для обеспечения высокой доступности и аварийного восстановления. Если основной регион становится недоступным, Диспетчер трафика выполняет отработку отказа в дополнительный регион.
Azure Front Door и Шлюз приложений Мультитенантная saaS в Azure Используйте мультитенантное решение, включающее сочетание Azure Front Door и Шлюз приложений. Azure Front Door помогает сбалансировать трафик между регионами. Шлюз приложений маршрутизирует и балансирует трафик внутри приложения в различных службах, удовлетворяющих потребностям клиента.
Диспетчер трафика + Load Balancer Многорегионное N-уровневое приложение Многорегионное N-уровневое приложение, использующее Диспетчер трафика для маршрутизации входящих запросов в основной регион. Если этот регион становится недоступным, диспетчер трафика выполняет отработку отказа в дополнительный регион.
Диспетчер трафика + Шлюз приложений Балансировка нагрузки с несколькими агрегатами с помощью Диспетчер трафика и Шлюз приложений Узнайте, как обслуживать веб-рабочие нагрузки и развертывать устойчивые многоуровневые приложения в нескольких регионах Azure для обеспечения высокой доступности и надежной инфраструктуры аварийного восстановления.

Дерево принятия решений для балансировки нагрузки в Azure

При выборе параметров балансировки нагрузки следует учитывать эти факторы при выборе вкладки справки по умолчанию на странице балансировки нагрузки :

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

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

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

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

Diagram that shows a decision tree for load balancing in Azure.

Определения

  • Доступ к Интернету: приложения, доступные из Интернета. В качестве рекомендации владельцы приложений применяют политики ограниченного доступа или защищают приложение путем настройки таких предложений, как брандмауэр веб-приложения и защита от атак DDoS.
  • Глобальный: конечные пользователи или клиенты, расположенные за пределами небольшой географической области. Например, пользователи на нескольких континентах, в разных странах или регионах на континенте или даже в нескольких городских районах в пределах более крупной страны или региона.
  • Платформа как услуга (PaaS): предоставляет управляемую среду размещения, где можно развернуть приложение без необходимости управлять виртуальными машинами или сетевыми ресурсами. В этом случае PaaS относится к службам, которые обеспечивают интегрированную балансировку нагрузки в пределах региона. Дополнительные сведения см. в разделе "Выбор службы вычислений — масштабируемость".
  • Служба Azure Kubernetes (AKS): позволяет развертывать контейнерные приложения и управлять ими. AKS предоставляет бессерверные Kubernetes, интегрированную интеграцию и непрерывную доставку, а также безопасность и управление корпоративным классом. Дополнительные сведения об архитектурных ресурсах AKS см. в Служба Azure Kubernetes архитектуре.
  • Инфраструктура как услуга: вариант вычислений, в котором подготавливаются необходимые виртуальные машины, а также связанные компоненты сети и хранилища. Приложения IaaS требуют внутренней балансировки нагрузки в виртуальной сети с помощью Load Balancer.
  • Обработка на уровне приложений: относится к специальной маршрутизации в виртуальной сети. Например, маршрутизация на основе пути в виртуальной сети между виртуальными машинами или масштабируемыми наборами виртуальных машин. Дополнительные сведения см. в статье "Когда следует развернуть Шлюз приложений за Azure Front Door?".
  • Ускорение производительности: относится к функциям, которые ускоряют веб-доступ. Ускорение производительности можно достичь с помощью сетей доставки содержимого (CDN) или оптимизированной точки присутствия для ускорения подключения клиента к целевой сети. Azure Front Door поддерживает как CDN, так и ускорение трафика Anycast. Преимущества обоих функций можно получить с Шлюз приложений или без Шлюз приложений в архитектуре.

Следующие шаги