Я установил кластер NLB с двумя серверами (WS 2008 R2). На каждом сервере есть одна карта NIC, которую я настроил для статического IP-адреса. Я назначил кластеру имя в Интернете (MyCluster) и назначил ему статический IP-адрес. Третье поле действует как клиент, отправляющий данные TCP (через WCF) на настроенный мной IP-адрес кластера (статический IP-адрес). Я наблюдаю за кластером NLB из диспетчера NLB на одном из узлов - оба узла зеленые, скажем, запущены. Однако я могу видеть только трафик, поступающий на один из серверов NLB. Когда я приостанавливаю его, я вижу, что трафик идет на другой сервер NLB, и так далее. Я ожидал, что трафик будет разделен между ними поровну. Я не могу понять, что я пропустил, пожалуйста, какие-нибудь советы?
Спасибо/.
Скриншот правил порта, запрошенный joeqwerty
Если вы хотите, чтобы один сеанс балансировал между двумя узлами NLB, вам необходимо: изменить привязанность к клиенту к None
. Это позволит первому доступному узлу ответить на каждый запрос. Однако будьте осторожны, если вы используете сеансы, это может вызвать проблемы, когда только один узел знает о сеансе.
По моему опыту, я не наблюдал, чтобы NLB работал в стиле Round Robin. Для принудительной балансировки нагрузки с небольшим количеством клиентов быстрое обновление заняло около 30 секунд до начала балансировки нагрузки.
NLB работает не так. Он не балансирует нагрузку на один поток трафика между серверами.
NLB балансирует независимые сеансы TCP или UDP на серверах. Таким образом, если у вас есть два независимых сеанса, NLB должен направить первый сеанс на один сервер, а второй сеанс на другой сервер.