Я использую клиент Microsoft Dynamics NAV 2009, адаптированный для ролей (RTC), который использует трехуровневую архитектуру. Средний уровень, который Microsoft называет уровнем служб, - это приложение, не поддерживающее кластер, которое работает как служба Windows. Я определил через Другой вопрос что мне следует продолжить запуск кластерного гипервизора с виртуальной машиной, на которой запущен уровень обслуживания NAV.
К сожалению, рекомендованная максимальная емкость уровня обслуживания NAV составляет 50-60 пользователей. Имея более 100 одновременных пользователей, мне понадобится какой-то механизм для «балансировки нагрузки» всех сеансов без необходимости посещать рабочую станцию каждого пользователя и «жестко запрограммировать» ее на конкретный сервер. Сеансы должны быть постоянными, так как каждый запрос после первоначального необходимо направлять на один и тот же сервер.
Как мне сбалансировать нагрузку на службу Windows, которая не основана на IIS и соответствует изложенным мною требованиям?
думаю Балансировка сетевой нагрузки Windows (NLB) будет работать для вас - он использует многоадресную рассылку, чтобы обеспечить доступ к нескольким серверам с одного и того же IP-адреса. Серверы решают между собой, какой из них будет обрабатывать запрос. Его можно настроить как «липкий» (привязка к сеансу). Однако имейте в виду, что он предлагает избыточность только в зависимости от того, работает ли сервер или нет - он не может решить, какой сервер в кластере находится под меньшей нагрузкой.
В большей части документации обсуждаются IIS и NLB, но он работает для RDP и других приложений. У меня возникли некоторые проблемы с использованием этого коммутатора Dell PowerConnect в сценарии высокой нагрузки, и я был бы склонен выбрать более тяжелое решение для балансировки нагрузки, но я думаю, что для ваших целей это лучшее место для начала. Это бесплатно с Windows Server.
Как клиенты «находят» средний уровень? Является циклический DNS вариант для вас?