Может ли сбой кластера Windows настраивать приложение TCP-сервера, даже если сама Windows работает?
Я разрабатываю приложение сервера TCP, которое слушает определенный порт. Один из моих пользователей спрашивает, может ли мое приложение работать в активно-активном кластере Windows 2008 Enterprise. Я почти не имел опыта в кластеризации Windows, я гуглил и знаю, что отработка отказа будет работать для приложений Microsoft, таких как IIS и SQL Server, но мне интересно, работает ли то же самое для пользовательских приложений TCP.
Во-первых, я знаю, что клиенты будут подключаться к виртуальному IP-адресу, а не к физическим IP-адресам узлов, и если определенный узел не работает, кластеризация Windows автоматически перенаправит любой запрос на подключение к другому узлу.
Но как насчет случая, когда только мое приложение TCP-сервера зависает и перестает отвечать (но Windows все еще работает), отказоустойчивость все еще будет работать? Я также мог бы намеренно отказаться от клиентского подключения в случае критического сбоя приложения.
Буду признателен за любые указатели, спасибо.
1 ответ
Да, вы можете настроить свое собственное приложение в кластере Windows. Однако это не то, о чем спрашивает ваш пользователь. Кластеризация Windows не является активной / активной конфигурацией кластера. Кластеризация Windows поддерживает только отказоустойчивость, а не масштабирование. Для решения с горизонтальным масштабированием, когда служба работает на нескольких серверах одновременно, для этого потребовалось бы использовать какой-либо балансировщик нагрузки перед приложением, которое перенаправляло бы запросы на один из серверов, на которых запущено приложение. Балансировщик нагрузки может быть аппаратным балансировщиком нагрузки, таким как Cisco, F5 и т. Д., Или программным пакетом, таким как служба балансировки нагрузки Windows.
Все это говорит...
Если вы установили свое приложение в кластере Windows, оно будет работать на том же физическом компьютере до тех пор, пока не произойдет сбой программного обеспечения, после чего кластер Windows попытается перезапустить его на том же компьютере или переместить его на другой компьютер в кластере. в зависимости от того, как у вас это настроено. Служба Windows Cluster не отслеживает, что делает ваше программное обеспечение, и ваше программное обеспечение может отклонять сеансы в течение всего дня, и Windows Cluster посчитает это абсолютно нормальным.