Windows Server: балансировка нагрузки на несколько портов на одном сервере
Контекст: мы разрабатываем службу Windows, которая обрабатывает связь с устройствами, используя собственный протокол под TCP.
Вопрос: Как я могу настроить несколько экземпляров, если эта служба Windows прослушивает разные порты (например, 3001,3002,3003) и имеет один порт (например, 3000) для пересылки трафика (или распределения нагрузки) между этими экземплярами?
Мы используем Windows Server 2008 R2. Я нашел решения для балансировки нагрузки нескольких серверов с использованием NLB, но мне не удалось настроить его для одного сервера и нескольких портов.
Почему? Прозрачная установка развертывается с использованием одного сервера, оценивает стабильность выпуска перед использованием его со всеми клиентами, и службы, по-видимому, работают лучше в 3 экземплярах по 1 тыс. Клиентов на экземпляр, чем в 1 экземпляре по 3 тыс. Клиентов.
1 ответ
Рассматривали ли вы использование 3 разных IP-адресов, указывающих на 3 экземпляра вашего сервиса на одном сервере? Это даст вам 3 IP-стека и, вероятно, необходимую вам производительность. Вы также можете попытаться настроить стек TCP, адаптировав некоторые системные параметры по умолчанию. Некоторое объяснение о том, какие параметры есть и что они делают, можно найти здесь https://kb.globalscape.com/KnowledgebaseArticle10438.aspx