Я использую балансировку сетевой нагрузки Windows, чтобы мои приложения оставались доступными, даже когда один из серверов не работает.
Проблема в том, что он обнаруживает только отключение всей машины. Иногда случается, что только одна служба не работает, но ее хост работает, тогда запрос все еще отправляется на эту конечную точку, но она не отвечает.
Есть ли какое-нибудь решение этой проблемы? Есть ли способ настроить Windows NLB или сторонний для проверки статуса конкретного порта?
почему бы не использовать отказоустойчивую кластеризацию? NLB - это просто балансировка нагрузки NETWORK, в которой ничего не говорится об отказоустойчивости на уровне приложений.
Для этого я использую (и, конечно, не для Windows) аппаратный балансировщик нагрузки, который стоит перед кластером.
У меня есть пара Кемпов (http://www.kemptechnologies.com) в конфигурации кластера, и службы указывают на них. Они передают запрос от источника одному из членов пула серверов, стоящих за ними. Порядок запрашиваемых серверов может быть определен одним из нескольких способов.
Кемп - не единственный провайдер, который делает это и использует этот метод. Большинство аппаратных балансировщиков нагрузки будут работать одинаково. Это самый надежный способ предоставления высокодоступных услуг, за исключением десятков и сотен тысяч долларов на сетевую инфраструктуру.