Настройка балансировки серверов Indeed AM с использованием Application Request Routing (ARR) и Network Load Balancing (NLB))
Автор Vladislav Fomichev, Last modified by Vladislav Fomichev на 30 марта 2021 04:48 PM

Предварительные требования

  1. Развернутая инфраструктура Indeed AM с несколькими серверами Indeed.
  2. Виртуальный IP адрес с DNS именем. Данное требование необходимо если будут развернуты несколько контроллеров ARR и после добавлены в кластер NLB - Рекомендуемая инфраструктура.
  3. При использовании SSL потребуется выписать сертификат для контроллеров ARR. В данные сертификата также потребуется добавить DNS имя виртуального IP адреса, предназначенного для NLB.

1. Настройка контроллеров ARR

Данные настройки требуется выполнить на каждом контроллере ARR.

Предварительные требования:

  • Установленный компонент “Веб-сервер (IIS)” версии не ниже 7.
  • Установленный компонент “Application Request Routing”. Ссылка
  • Установленный компонент “Url Rewrite”. Ссылка
  • При использовании протокола https требуется выполнить привязку SSL сертификата к “Default Web Site”.

Настройка

  1. Откройте IIS менеджер и выберете “Server Farms”.
  2. Нажмите правой кнопкой по “Server Farms” и выберете “Create Server Farm...”.
  3. В окне “Create Server Farm” задайте имя для фермы и нажмите “Далее”.
  4. В окне “Create Server Farm”, на шаге “Add Server, в поле “Server address” укажите полное имя сервера Indeed AM и нажмите “Add”. Повторите добавление для всех имеющихся серверов Indeed AM и нажмите “Готово”.

2. Добавление правила для переопределения URL адресов (URL Rewrite)

  1. Откройте IIS менеджер и настройки сервера IIS.
  2. Откройте “Переопределение URL-адресов”.
  3. В правой части окна, в блоке “Действия”, выберете “Добавить правила”.
  4. В окне “Добавить правила” нажмите “Пустое правило”.
  5. В окне “Изменить правило для входящего трафика” задаем:
    1. В поле “Имя” - Указывается имя для правила.
    2. В “Запрошенный URL-адрес” - Выберете “Соответствует шаблону”.
    3. В “Использование” - Выберете “Регулярное выражение”.
    4. В поле “Шаблон” - Укажите регулярное выражение вида: .* , что означает - перенаправлять все входящие запросы.
    5. Параметр “Не учитывать регистр” должен быть выбран.
    6. В блоке “Действия”, для параметра “Тип действия” выберете “Маршрутизация на серверы фермы”.
    7. В параметре “Схема” выберете используемый протокол.
    8. В параметре “Ферма адресов” выберете созданную ферму.
    9. В параметре “Путь” укажите: /{R:0}.
    10. В правой части, в блоке “Действия”, нажмите “Применить”.

3. Настройка фермы

  1. Откройте созданную ферму для настройки. Для этого нажмите левой кнопкой мыши по созданной ферме.
  2. Health Test. На этой странице мы можем настроить тестирование состояния сервера(Тестирование по URL: URL Test,  и по трафику: Live Traffic Test. Рекомендуется использовать тестирование по URL, чтобы отключить использование “Live Traffic Test” установите значение “Failover period” в 0) и в случае его отказа автоматически пометить его как не рабочий и не использовать его для обслуживания запросов пользователей. Нажмите “Health Test” и задайте следующие параметры:
    1. URL - Укажите полный адрес ARR контроллера с добавлением пути: easerver/api/healthcheck/isHealthy. Например: https://arrcontroller1.indeed-id.local/easerver/api/healthcheck/isHealthy      Через метод API проверяются следующие параметры (в случае получения код ответа не “200”, сервер считается неработоспособным):
      • Состояние сервера IIS. 
      • Неработоспособность/недоступность одного или всех пользовательских каталогов.
      • Неработоспособность/недоступность хранилища сервера Indeed AM.
    2. Interval (seconds) - Интервал в секундах за который будет проверяться состояние сервера. Например, если установить значение 10, то каждые 10 секунд будет осуществляться проверка состояния сервера по заданному URL.
    3. Time-out (seconds) - Время в секундах, в течение которого неработоспособный сервер исключается из проверок. Например, если установить значение 30, то неактивный сервер фермы не будет повторно проверяться в течение 30 секунд.
    4. Acceptable status codes - HTTP код ответа, который указывает, что сервер работоспособный. Задайте значение: 200
  3. Load Balance. На странице задается алгоритм балансировки. Выберете “Weightedround robin” и нажмите “Применить” в блоке “Действия”. Weighted round robin - усовершенствованная версия алгоритма Round Robin, алгоритм кругового обслуживания, представляет собой перебор по круговому циклу. Основное отличие от Round Robin - возможность использовать вес для конкретного сервера, с учетом заданного веса будет распределяться нагрузка. В параметре “Load Distribution” выберете подходящую настройку:
    1. Even Distribution - При данном значении запросы распределяются равномерно между всеми серверами.
    2. Custom Distribution - Можно задать различные веса для серверов, в соответствии с установленными весами будет распределяться нагрузка.
  4. Monitoring and Management. На данной странице отображается подробная информация(Состояние, кол-во запросов и др.) по каждому серверу в ферме.
  5. Server Affinity. На данной странице включается опция по использованию клиентских cookie. Включение данного параметра обязательно, чтобы запросы клиента передавались на один и тот же сервер фермер(Sticky session). Для включения клиентских cookie выполните следующее:
    1. В блоке “Client Affinity” включите параметр “Client Affinity”.
    2. В поле “Cookie name” укажите имя cookie которое будет использоваться.
    3. В правом блоке “Действия” нажмите “Применить”.
    4. Перезапустите сервер IIS.

4. Настройка дополнительного контроллера ARR

Для обеспечения гибкой балансировки и отказоустойчивости рекомендуется развернуть минимум 2 контроллера ARR. Настройка дополнительного контроллера осуществляется аналогично настройке первого из пункта 1.

5. Настройка NLB

Для балансировки запросов между контроллерами ARR можно использовать NLB(Network Load Balancing). Для настройки потребуется установить компонент “Балансировка сетевой нагрузки” на каждом контроллере ARR и задать виртуальный IP-адрес с DNS именем для кластера NLB. Инструкция по настройке NLB кластера для контроллеров NLB аналогична настройке NLB для серверов Indeed AM. Инструкция доступна по ссылке.

    (1 голос(а))
    Эта статья полезна
    Эта статья бесполезна

    Комментарии (0)
    Добавить новый комментарий
     
     
    Полное имя:
    Email:
    Комментарии: