Общий хостинг с помощью маршрутизации запросов приложений (ARR)

Использование маршрутизации запросов приложений (ARR) в общей среде размещения представляет новую архитектуру развертывания, которая предоставляет дополнительные преимущества и возможности для общих узлов. Этот сценарий включен функцией сходства имен узла в маршрутизации запросов приложений. Дополнительные сведения о функции привязки имени узла и о том, как она связана с общим размещением, см. в развертывании общего размещения с помощью Application Request Routing.

В этом разделе описано, как настроить функцию сопоставления имен узла в маршрутизации запросов приложений, как показано ниже:

Схема, представляющая общую среду хостинга, в которой развертывается A R R.

Цель

Настройка маршрутизации запросов приложений в общей среде размещения.

Необходимые условия

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

  • IIS 7.0 или более поздней версии на платформе Windows 2008 (любой номер SKU) или новее.

  • Модули маршрутизации запросов приложений Майкрософт версии 1 и зависимые модули.

  • Не менее двух серверов приложений с рабочими сайтами и приложениями.

    • Серверы должны быть настроены для использования общей конфигурации и общего содержимого. Дополнительные сведения о общей конфигурации см. в статье "Общая конфигурация".
    • Сайты на серверах должны использовать привязку имени узла.

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

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

Шаг 1. Активация привязки имени хоста

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

Включение привязки имени хоста через пользовательский интерфейс

  1. Запустите диспетчер IIS.

  2. Выберите ферму серверов, созданную для этого пошагового руководства.

  3. Показаны следующие значки:

    Снимок экрана: окно

  4. Дважды щелкните привязка сервера.

  5. Чтобы включить сходство имен узлов, выберите "Использовать имя узла" и нажмите кнопку "Применить".

    Снимок экрана: диалоговое окно

    Обратите внимание, что существуют два провайдера для определения, к каким серверам следует привязывать имя узла. Это отличается от алгоритма балансировки нагрузки, и поставщик используется только для функции привязки на основе имени узла. Два поставщика:

    • Microsoft.Web.Arr.HostNameRoundRobin
    • Microsoft.Web.Arr.HostNameMemory

    Microsoft.Web.Arr.HostNameRoundRobin пытается равномерно распределять количество доменных имен по принципу кругового распределения. Использование этого поставщика не имеет требований к серверам приложений.

    Microsoft.Web.Arr.HostNameMemory пытается распределить количество сопоставленных имен узлов на основе объема доступной памяти на серверах приложений, где сервер с наибольшим объемом доступной памяти будет назначен со следующим именем узла. Этот поставщик использует WMI для запроса доступной памяти (определенной как зафиксированная память или физическая память). Таким образом, серверы приложений должны быть серверами Windows, а дополнительные конфигурации должны быть сделаны на серверах приложений, чтобы разрешить удаленные запросы WMI. Дополнительные сведения см. в статье о настройке службы WMI на серверах приложений для провайдера HostNameMemory affinity.

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

  6. Чтобы проверить эту функцию, нажмите кнопку "Отобразить таблицу маршрутизации".

    Снимок экрана: диалоговое окно

  7. Введите имя узла и нажмите кнопку "Поиск по имени узла". Адрес сервера, который показан, - это местоположение, куда связано имя узла.

Включение привязки имени хоста с использованием командной строки

  1. Откройте окно командной строки с правами администратора.

  2. Перейдите по адресу %windir%\system32\inetsrv.

  3. Чтобы включить сходство имен узлов, введите (в следующем примере в качестве имени фермы серверов используется myServerFarm ):

    appcmd.exe set config  -section:webFarms /[name='myServerFarm'].applicationRequestRouting.affinity.useHostName:"True"  /commit:apphost
    

Шаг 2. Укажите количество серверов, используемых для каждого имени узла

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

Указание количества серверов, используемых с помощью пользовательского интерфейса

  1. На странице "Сходство сервера " нажмите кнопку "Дополнительные параметры".

    Снимок экрана: диалоговое окно

  2. В столбце "Имя узла" введите имя узла. Это поле является обязательным.

  3. В столбце "Число выделенных серверов" введите количество серверов, которые может использовать имя узла.

  4. Альтернативные имена узлов — это необязательное поле, которое можно использовать для указания дополнительных имен узлов, которые следует обрабатывать так же, как значения в столбце имени узла . Например, владелец сайта может иметь несколько записей DNS для одного сайта. В этом случае он хотел бы, чтобы ARR обрабатывал несколько записей DNS так же, чтобы только один рабочий процесс запускался на сервере приложений для обоих доменных имен.

  5. Чтобы сохранить изменения, нажмите кнопку "ОК".

  6. Чтобы проверить эту функцию, нажмите кнопку "Отобразить таблицу маршрутизации".

    Снимок экрана, показывающий незаполненное диалоговое окно

  7. Введите имя узла и нажмите кнопку "Поиск по имени узла". Число возвращенных адресов сервера будет совпадать с указанным числом выделенных серверов. Это серверы, с которыми можно ассоциировать имя узла.

Указание количества серверов, используемых с помощью командной строки

  1. Откройте окно командной строки с правами администратора.

  2. Перейдите по адресу %windir%\system32\inetsrv.

  3. Чтобы указать количество серверов на имя узла, введите (следующий пример использует myServerFarm в качестве имени фермы серверов и задает для имени узла число серверов значение 2):www.contoso.com

    appcmd.exe set config  -section:webFarms /+"[name='myServerFarm'].applicationRequestRouting.affinity.[name='www.contoso.com',servers='2']" /commit:apphost
    

Сводка

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