У меня есть 3 местоположения, в каждом из которых есть свой сервер (s1.mysite.com, s2.mysite.com, s3.mysite.com). Все они являются частью сайта: app.mysite.com.
Я хотел бы использовать ARR для пересылки запроса на определенные серверы в ферме в зависимости от того, из какого местоположения поступает запрос (запрос с сайта 1 направляется на s1.mysite.com, который является локальным для их местоположения), позволяя переключаться на один из других в случае проблемы с этим конкретным сервером.
Я знаю, как распределить запрос на основе строки запроса на конкретный сервер по DNS-имени (s1.mysite.com), но это имя не будет работать, если этот сервер выйдет из строя.
Могу ли я добиться этой избыточности и распределения работы таким образом с помощью Microsoft ARR?
В зависимости от ваших аргументов в пользу такого рода настройки возможные решения могут измениться. Я вижу две причины, которые могут быть здесь задействованы:
Если вы пытаетесь достичь высокой доступности и получить наилучшее время отклика, вы столкнетесь с проблемой из-за того, что все запросы должны сначала пройти через сервер ARR. Чтобы обойти это, нужно иметь ARR на каждом сайте, использовать DNS для направления пользователей на сервер ARR своего сайта, а затем использовать алгоритм балансировки нагрузки «Наименьшее время ответа». Это теоретически направит пользователей сайта 1 на s1.mysite.com, а также обеспечит переключение на s2 и s3, если s1 выйдет из строя.
Однако, если проблема с сетью вызывает недоступность s1.mysite.com, это также может стать причиной недоступности сервера ARR на сайте 1. Однако это защитит вас от сбоев приложений на s1.mysite.com.
Похоже, что нет ничего доступного из коробки для выполнения типа маршрутизации, который вы хотите выполнить. Однако есть API, позволяющие создавать настраиваемого поставщика перезаписи для перезаписи URL. Информацию о том, как это сделать, можно найти Вот. Вы можете использовать информацию из серверных переменных, заголовков запросов или даже параметров строки запроса в сочетании с настраиваемым поставщиком перезаписи для выполнения желаемого типа маршрутизации.