У меня есть две виртуальные машины Azure, расположенные за стандартным балансировщиком нагрузки Azure.
Подсистема балансировки нагрузки проверяет работоспособность каждые 5 секунд с включенным HTTP / работоспособностью для каждой виртуальной машины.
Интервал установлен на 5, порт установлен на 80 и / здоровье, а порог неработоспособности установлен на 2.
Во время развертывания приложения мы устанавливаем / health-endpoint на возврат 503, а затем ждем 35 секунд, чтобы позволить подсистеме балансировки нагрузки пометить экземпляр как неработающий и, таким образом, прекратить отправку нового трафика.
Однако балансировщик нагрузки, похоже, не полностью освобождает виртуальную машину от нагрузки. Он по-прежнему отправляет входящий трафик в неработающий инстанс, вызывая простои наших клиентов.
В журналах IIS я вижу, что конечная точка / health-endpoint действительно возвращает 503, когда должна.
Есть идеи, что не так? Может это какой-то TCP keep-alive?