@Vadim1899

Подойдет ли long pollibg под мою задачу?

Добрый день. Делаю сайт с динамично обновляющимся контентом.
Юзер добавляет материал, и он появляется у всех пользователей в ту же секунду (в теории).
Периодичность добавления новых материалов - раз в пару секунд, возможны периоды в 1 секунду.

Пробовал делать ajax-ом с таймером в 1 сек, просто обновлял скрипт куска, где выводятся материалы, но прочитал что при такой реализации очень большая нагрузка на сервер и на базу.

Наткнулся на такую технологию, как long-polling, прочитал что как раз для этого она и используется (для реал-тайма) но так же прочитал что для таких частых обновлений, как раз в ~2-4 секунды он не подходит
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ответы на вопрос 3
Смотря какая нагрузка. Делайте на сокетах, они проще будут и быстрее
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Websocket - оптимально.
Но можно взять и LongPolling-решение: https://pastebin.com/af8hF88J

но прочитал что при такой реализации очень большая нагрузка на сервер и на базу.
добавляем состояние в общий кеш (на сервере) и при запросе - берём оттуда. Обновляем кеш (обращаемся снова к базе и т.д.) через определённое время (кол-во запросов тут роли не играет).

Также, выключайте таймер авто-обновления на клиенте, если вкладка не активна или долго нет событий от UI: не скроллят, "мышь" долго не двигается, нет ввода с клавиатуры и т.д. (т.е., режим screen-saver'а фактически нужно сделать)
Возобновляйте авто-обновление при появлении активности.
Ответ написан
VladimirAndreev
@VladimirAndreev
php web dev
Вебсокет в плане ресурсов экономичнее.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
от 60 000 до 90 000 руб.
от 70 000 до 120 000 руб.
Aleksandrov-web Александров
от 40 000 руб.
20 авг. 2018, в 21:21
30000 руб./за проект
20 авг. 2018, в 20:46
5000 руб./за проект
20 авг. 2018, в 20:38
700 руб./в час