ARR 3.0: привязка клиентов не работает

Я реализовал балансировку нагрузки HTTP с помощью маршрутизации запросов приложений для своего веб-приложения. У меня есть один сервер балансировки нагрузки и два сервера приложений, а именно SERVER1 и SERVER2. Я настроил Client Affinity в своей ферме серверов на сервере балансировщика нагрузки.

Но проблема в том, что запросы от одного клиента отправляются на разные серверы. Это поведение я подтвердил в разделе «Мониторинг и управление» фермы серверов. Также я получаю следующую ошибку в клиенте «Ссылка на объект не установлена ​​​​на экземпляр объекта».

Это связано с тем, что когда первый запрос от клиента попадает на SERVER1, он создает объект в сеансе SERVER1. Теперь второй запрос от того же клиента пытается получить доступ к объекту, созданному в сеансе. Но запрос попадает на SERVER2 из балансировщика нагрузки вместо SERVER1. Поскольку в клиенте SERVER2 нет сеанса, возникает эта ошибка.

Я понимаю, что конфигурация Client Affinity предназначена для решения этой проблемы, когда все последующие запросы от клиента направляются на тот же сервер, который обслуживал первый запрос.

Но в моем случае эта функция не работает. Любое решение этого будет очень полезно.


person Nagendra Baliga    schedule 24.09.2013    source источник


Ответы (2)


Я нашел решение! Приложение отлично работало с браузером Firefox и не работало с IE и Chrome. ARR использует файл cookie для включения Client Affinity. Имя файла cookie будет использоваться для установки файла cookie на клиенте. Тем не менее, клиент должен принимать файлы cookie, чтобы привязка клиента работала должным образом. Имя файла cookie по умолчанию — ARRAffinity.

Для просмотра приложения я использовал URL-адрес servername/appname. Файл cookie ARRaffinity не создавался, когда я просматривал приложение из IE и Chrome. Файл cookie был создан, и приложение работало нормально при просмотре сайта с использованием имя_сервера.имя_домена/имя_приложения.

person Nagendra Baliga    schedule 25.09.2013

Старый протектор, но может быть полезен для кого-то.

Кажется, это проблема с т.е. или "ожидаемое поведение при использовании Internet Explorer": если имя сайта не содержит хотя бы одного '.' тогда файл cookie ARR Client Affinity не отправляется обратно в ARR, поэтому ARR создает новый.

Таким образом, допустимым обходным решением является любой псевдоним, включая '.' (точка), поскольку Нагендра упомянул servername.domainname

http://forums.iis.net/t/1178295.aspx?ARR+2+5+Client+Affinity+Not+Working

person Baruch    schedule 15.06.2015