Мы реализуем пару балансировщиков сетевой нагрузки для наших внешних и внутренних веб-серверов. мы не планируем использовать службы состояния сеанса ни на одной из NLB, и принимаем, что если узел выйдет из строя, пользователю придется повторно пройти аутентификацию на новом сервере и начать новый сеанс.
Однако у нас есть приложение ASP.Net4, которое перенаправляет на внешнюю службу (обработчик платежей), а затем использует статически настроенную ссылку для возврата пользователя на наш внешний URL-адрес.
У меня два вопроса:
Когда пользователь возвращается на сайт после выполнения платежа, есть ли способ убедиться, что он подключается к серверу, на котором в настоящее время находится его сеанс?
Когда пользователь на внутреннем NLB завершает платеж, служба пытается вернуть его на внешний NLB. есть ли способ перехватить и перенаправить их обратно во внутренний кластер, а затем на сервер, на котором находится их активный сеанс?
Для вопроса №1 вы можете использовать настройку привязки NLBS. Видеть https://stackoverflow.com/questions/866108/how-to-keep-user-requests-on-the-same-server-when-using-iis-nlb
Для вопроса №2 есть несколько вариантов.