Балансировка нагрузки или отказоустойчивые серверы для приложения.net
Сценарий у меня есть сервис, написанный на C#.net.
Теперь в моей производственной среде я хочу, чтобы эта служба находилась на 2 разных серверах для балансировки нагрузки или отработки отказа одного из серверов.
Так, например, если один сервер умирает, служба продолжает работать на другом сервере, и пользователи не затрагиваются ИЛИ, если на сайте есть большая нагрузка, пользователи перенаправляются на другие серверы.
Для пользователей, которые перенаправляются на разные серверы, это не проблема, у нас есть программное обеспечение, которое может проверить, работает служба или нет. Как сделать управление сессиями в этом случае?
Как мы можем достичь этого?
2 ответа
Очень старый вопрос, но по-прежнему доступен для поиска в Google. Начиная с Windows 2012 существует функция, называемая кластерными общими задачами. Вероятно, еще не созрели, поскольку это можно сделать только с помощью PowerShell, но, возможно, хорошее начало. Проверьте это сообщение MSDN. Я готов попробовать это сам.
Конечно, вы всегда можете раскрутить свой собственный сервис управления сессиями, но я не думаю, что это то, что вы ищете.
У меня есть опыт использования NCache для управления сессиями, и он работает достаточно хорошо.
У Microsoft также есть Velocity, но я не уверен, что она еще завершена.