Перемещено как ответ, а не как комментарий, там был тупой момент!
Если у вас не может быть простоев, лучше всего иметь другую работающую копию сервера, на которую вы можете перенаправить пользователей, когда вы захотите обновить основной сервер. После этого вы перенаправляете своих пользователей обратно к основному после обновления.
Вы можете использовать State Server, расположенный на другом сервере, чтобы обеспечить поддержание любого состояния сеанса при переключении с одного на другой.
В настоящее время мы экспериментируем с Microsoft Web Farm Framework, которая, похоже, очень хорошо справляется с такой задачей.
Наша установка включает сервер переднего плана, основной и дополнительный веб-сервер и отдельный сервер состояний. WFF синхронизирует копии веб-приложений на обеих машинах, а сервер состояний гарантирует, что если пользователь переключает серверы между запросами (или их текущий сервер отключается), он не должен замечать это изменение.
Чтобы обновить основной сервер, снимите его с балансировки нагрузки, который перенаправит все его запросы на дополнительный сервер. Выполните обновление, верните его в ротацию и повторите процедуру со вторым сервером.