[Moscow.pm] а вот кто с лонгпулингом работает?
Ivan Petrov
i.petro.77.00 на gmail.com
Сб Апр 26 13:17:43 PDT 2014
значит причины почему лонгпулинг: потому что вебсокеты пока 5/6
браузерами не поддерживается (у нас в ua по логам столько таковых)
для доставки сообщений запилили сервер лонгпулинга (на тарантуле).
соответственно кому надо - кладет евенты с ключами
клиенты подписываются на перечень ключей и получают евенты посредством
запросов к лонгпулинг-сервису
из за того что клиенты
a. на GPRS
b. переконнекчиваются
то время "жизни" сообщения на сервере довольно большое - >= 10 минут.
далее, есть Event'ы на которые скажем кнопочка в интерфейсе
перекрашивается. с теми все понятно.
но есть Event'ы по которым делается AJAX запрос.
все в целом работает оч красиво, юзер практически немедленную реакцию
видит на удаленные события.
однако есть одна траблема:
если у юзера пропадает канал на скажем 5 минут, то после его появления
он получает все евенты которые ему пришли за пять минут разом.
то есть при выходе его "из тени" может выйти так, что его браузер
начинает делать 20-30 AJAX запросов подряд.
понятно что можно в *каждом отдельном* случае как-то либо "схлопывать
сообщения" внутри большой пачки, либо делать релоад всей страницы итп,
но хочется придумать какое-то относительно универсальное решение.
вопрос: никто не думал над проблемой лонгпулинга и нестабильного
коннекта с AJAX в ответ на события?
Подробная информация о списке рассылки Moscow-pm