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