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

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

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

После выполнения этих задач запишите решения по проектированию, прежде чем перейти к шагу 4. Планирование хранилища сертификатов SSL Central.

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

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

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

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

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

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

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

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

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

См. также