http_push_module
Pavel V.
pavel2000 на ngs.ru
Ср Янв 27 21:12:19 MSK 2010
Здравствуйте, pyromaniac.
Вы писали 27 января 2010 г., 21:19:39:
> Напомню, что сейчас мой патч для пуш-модуля перехватывает момент
> подключения или отключения пользователя и должен отсылать запрос
> приложению.
На эту тему, вероятно, можно посмотреть реализацию функционала
post_action.
Также, JFYI, Позволю себе повторно отправить текст письма из рассылки
(основной акцент - Streaming):
---
> Там в статье написан один абзац про вантуз для Комета:
> периодески возникают проблемы: то прокся ответ Lзажевала╕ и отдала его
> только накопив несколько ответов. Для Lпробивания╕ проксей часто
> использовался двух-килобайтный Lвантуз╕ ? т.е. объем передаваемых
> данных увеличивался пробелами (или другими незначащими символами) до
> 2К, которые многие прокси передавали сразу, не задерживая.
> Интересно, в NGiNX_HTTP_Push_Module как-то эти зажёвывания
> преодолеваются или же эффект в принципе весьма редок и потому не стоит
> внимания?
AFAIK, там нет таких проблем, поскольку после каждого ответа
сразу формируется новый http-запрос. Т.е, реализован "Ajax with long
polling", а не "Streaming", в терминах
http://en.wikipedia.org/wiki/Comet_(programming)
Если бы модуль реализовывал стриминг, также было бы необходимо
реализовать возможность авторизовать пытающегося подключиться клиента
на бэкенде, и в ответе от бэкенда уже отдать список каналов, на
которые клиент должен быть подписан.
Для варианта "один запрос - один ответ", генерировать еще и запрос к
бэкенду для отдельной авторизации, конечно неразумно, и в результате
применять данный модуль там, где есть массовая рассылка одного
сообщения большой группе (в чате, к примеру) становится невозможно.
Кроме того, кроме прокси-серверов, проблемы приносят и клиентские
антивирусы. В нашем маленьком местном чате, работающем с
использованием стриминга, к примеру, жалуются на антивирус Avast.
Будем проверять, как в этой проблеме нам сможет помочь "вантуз" :-)
---
Хотелось бы узнать, составлен ли достаточно полный план/список
функций, которые ожидается реализовать и каков он?
> После того, как это заработает, буду хранить отдельный
> список подключённых пользователей и буду слать запросы приложению из
> нгинкса только когда это нужно, учитывая тайм-ауты дисконнекта.
А вот данная вещь не всегда является полезной. На мой взгляд, список
подключенных пользователей и их состояние авторизованности должно
храниться в приложении.
Вообще тема интересна для обсуждения :-)
--
С уважением,
Pavel mailto:pavel2000 at ngs.ru
Подробная информация о списке рассылки nginx-ru