У меня есть несколько веб-серверов за балансировщиком нагрузки Amazon EC2. Я использую балансировку TCP на порту 80 (а не балансировку HTTP).
У меня есть клиент, опрашивающий веб-сервис (работающий на всех веб-серверах) для новых элементов каждые несколько секунд. Однако клиент, похоже, остается подключенным к одному серверу и каждый раз опрашивает тот же сервер.
Я пытался использовать ServicePointManager, чтобы отключить KeepAlive, но это ничего не изменило. Исходящее соединение все еще имело свой HTTP-заголовок «connection: keep-alive», и сервер оставлял TCP-соединение открытым. Я также попытался добавить переопределение GetWebRequest к прокси-классу, созданному VS, который наследуется от SoapHttpClientProtocol, но я все еще вижу заголовок keep-alive.
Если я убью процесс клиента и перезапущу его, он подключится к новому серверу через балансировщик нагрузки, но продолжит опросить этот новый сервер навсегда.
Есть ли способ заставить его каждый раз подключаться к случайному серверу? Я хочу, чтобы нагрузка от одного клиента была распределена по всем веб-серверам.
Клиент написан на C # (как и сервер) и использует веб-ссылку (не ссылку на службу), которая указывает на балансировщик нагрузки.