Этап планирования 3. Планирование балансировки нагрузки веб-фермы IIS

Кит Ньюман и Роберт Мак-Мюррей

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

После завершения этих задач запишите проектные решения перед переходом к Step 4: Plan SSL Central Certificate Store.

3.1. Планирование балансировки нагрузки с помощью ARR

Балансировка нагрузки — способ распределить рабочую нагрузку по нескольким веб-серверам. Цель — достижение оптимального использования ресурсов, максимальное увеличение пропускной способности запроса, уменьшение времени ответа до минимума и недопущение перегрузки сервера.

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

Маршрутизация запросов приложений (ARR) — это модуль маршрутизации на основе прокси-сервера, который использует заголовки HTTP, переменные сервера и алгоритмы балансировки нагрузки для определения способа перенаправления запросов на серверы содержимого. ARR использует модуль переопределения URL-адресов для проверки входящих запросов.

Ключевая функция ARR — соответствие имени узла. Функция соответствия имени узла создает сходство (тесную связь) между запросами и данным сервером (или набором серверов). Это обеспечивает потребление ресурсов только на определенном количестве серверов для данного сайта.

Подготовьте список IP-адресов для всех серверов в ферме. Этот список потребуется для настройки балансировки нагрузки ARR.

3.2. Обзор других функций ARR

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

Функция Описание
Просмотр кэшированного содержимого с помощью пользовательского интерфейса Кэшированное содержимое на нескольких дисках, включая кэшированные каталоги и файлы, можно просматривать в диспетчере IIS.
Поддержка байтового диапазона ARR делит запросы байтового диапазона на более мелкие части, чтобы увеличить коэффициент попаданий и промахов кэша без ущерба для времени ответа.
Управление иерархией кэша ARR позволяет определять и управлять связями между узлами кэша. ARR поддерживает протокол маршрутизации массива кэша (CARP), так что можно настроить ARR в качестве граничного узла кэша.
Прокси-узел кэша в среде CDN/ECN ARR может использоваться как прокси-сервер кэша в сети доставки содержимого (CDN) или развертывании граничной сети кэша (ECN), поскольку ARR представляет собой модуль маршрутизации запросов HTTP на основе прокси-сервера с поддержкой дискового кэша и CARP.
Кэширование сжатых объектов ARR сжимает объекты и сохраняет их в дисковом кэше таким образом, что эти объекты остаются несжатыми в режиме реального времени для каждого запроса.
Кэширование при обслуживании ответов ARR может кэшировать большие файлы при обслуживании ответа в режиме реального времени.
Сходство клиентов Чтобы привязать все запросы от клиента к серверу содержимого, ARR может использовать файлы cookie.
Кэширование данных с диска ARR поддерживает кэшированное содержимое на заданных пользователем основных кэш-дисках и дополнительных сетевых кэш-дисках.
Правила трассировки неудачных запросов ARR использует правила трассировки для диагностики и устранения неудачных запросов.
Мониторинг работоспособности ARR предоставляет параметры конфигурации для использования в тестах реального трафика и проверках по определенному URL-адресу для определения работоспособности серверов содержимого.
Сходство имен узлов Сходство имен узлов — функция, относящаяся к общим узлам, изменяет топологию развертывания, предоставляя два поставщика, циклический перебор и память, чтобы определить, к какому серверу применит узел.
Решения маршрутизации на основе протокола HTTP Маршрутизация запросов приложений использует модуль переопределения URL-адресов для записи правил маршрутизации, основанных на заголовках HTTP и переменных сервера, а также для выполнения решений маршрутизации на уровне приложения.
Поддержка запросов в реальном времени ARR поддерживает запросы содержимого в реальном времени путем объединения запросов и проверки запросов с промахом кэша перед перенаправлением запросов на сервер-источник.
Алгоритмы балансировки нагрузки ARR предоставляет шесть алгоритмов балансировки нагрузки, которые можно использовать для определения того, какое содержимое сервера применять для службы HTTP-запросов.
Управление и мониторинг с помощью пользовательского интерфейса Параметры конфигурации ARR и статистика среды выполнения можно просматривать в диспетчере IIS.
Несколько групп серверов ARR может управлять несколькими группами серверов содержимого в экспериментальных сценариях управления и альфа-/бета-тестирования.
Переопределение директив управления кэшем ARR позволяет вручную переопределять директивы управления кэшем, которые управляют поведением (например, возможностью и длительностью кэширования).
Удаление кэшированного содержимого ARR позволяет удалять кэшированное содержимое путем сопоставления шаблонов URL-адресов.
Подготовка узлов кэша ARR позволяет выполнить предварительное кэширование содержимого, предполагая необходимость в этом перед запросом содержимого. Можно выполнить предварительное кэширование только на уровне родительского кэша или на уровнях родительского и дочернего кэша.

См. также: