Этап планирования 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 позволяет выполнить предварительное кэширование содержимого, предполагая необходимость в этом перед запросом содержимого. Можно выполнить предварительное кэширование только на уровне родительского кэша или на уровнях родительского и дочернего кэша. |
См. также:
- Шаг 4. Планирование хранилища централизованных SSL-сертификатов
- Шаг 2. Планирование конфигурации веб-фермы IIS
- Шаг 3. Настройка балансировки нагрузки веб-фермы IIS
- Plan a Web Farm with IIS Servers
- Построение веб-фермы с серверами IIS
- Средство развертывания веб-сервера (IIS) с поддержкой размещения: обзор сценария