У нас есть необходимость заблокировать пользователей от нашего сервиса, когда он находится под нагрузкой, чтобы избежать ухудшения взаимодействия с пользователем. Мы реализовали очень грубую и готовую версию этого, обнаруживая ошибки или тайм-ауты в запросах ajax и отображая всплывающее окно с сообщением, что у нас возникли проблемы, и перенаправляем пользователя на страницу блокировки. Но я получаю слишком много ложных негативов по этому поводу, и простое обновление страницы вызывает всплывающее окно, потому что запросы ajax прерываются и т. Д.
Как веб-сайты обычно занимаются подобными вещами? Это обрабатывается на стороне сервера, на стороне клиента или apache и т. Д.?
Спасибо
В высокопроизводительной производственной среде перед сервером apache обычно находится какой-то балансировщик нагрузки. Есть как программные, так и аппаратные разновидности. Их можно настроить для выполнения периодической проверки работоспособности на сервере apache, и когда сервер не отвечает, все новые запросы могут быть отправлены на отдельный веб-сервер, который выдает только страницу с ошибкой.