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