У меня есть веб-приложение, которое опирается на очень «живые» данные - поэтому оно нуждается в обновлении каждую 1 секунду, если что-то изменилось.
Мне было интересно, каковы плюсы и минусы следующих решений.
Решение 1 - Опрос A Lot
Итак, каждую 1 секунду я отправляю запрос на сервер и возвращаю некоторые данные. Как только у меня есть данные, я жду 1 секунду, прежде чем делать все это снова. Я бы обнаружил клиентскую сторону, если бы состояние изменилось, и предпринял соответствующие действия.
Решение 2 - Блок A Lot
Итак, я запускаю запрос к серверу, который истекает через 30 секунд. Сервер следит за данными на сервере, проверяя их раз в секунду. Если сервер замечает, что данные изменились, он отправляет данные обратно клиенту, который предпринимает соответствующие действия.
Сценарий
По сути, данные достаточно малы по размеру, но изменяются через случайные интервалы в зависимости от событий в реальном времени. Дело в том, что веб-интерфейс будет выполнять что-то в районе 2000 экземпляров, поэтому я получаю 2000 запросов в секунду, поступающих от интерфейса, или у меня 2000 длительных запросов, которые занимают до 30 секунд?
Помощь и совет будут высоко оценены, особенно если вы работали с AJAX-запросами в аналогичных объемах.