piplining

Kostya Alexandrov koticka at mail.ru
Wed Nov 14 15:46:49 MSK 2007


Авторизация не SSL, если вы имеете ввиду авторизацию по ключу. SSL 
просто закрывает http.
Авторизация - получение session id (колбаса из ХХХ сиволов) и брожение с 
ней в качестве куки или параметра в сервлете.
Именно push. Его и городим. С таймаутами проблем нет. Если слать нечего, 
нужно слать ping. Иначе клиент не будет знать о том соединение живо или 
нет, и его какой нить роутер по дороге не пристрелил. И сделать такое 
вполне возможно :)

Как сделаю скажу точно можно или нет.

Pipelining хотелось (и выйдет) пользовать для того чтоб соединение было 
двунаправленным.

David Mzareulyan wrote:
> Hello Kostya,
>
>> Под "просто сокетом" панимается установка двунаправленного tcp
>> соединения. От китайцев спасает ssl, ну по крайей мере я в это верю :)
>
> Ага, так значит фаза авторизации у Вас всё-таки есть, причём недешёвая 
> (ssl). Тогда о чём весь этот джаз?
>
>> Про кроликов - я согласен, но альтернативы не вижу на "пока что".
>> Ngnix сейчас выступает как ssl+keep alive фронтенд для клиентов, в
>> ближайшем будущем
>> сервлеты отдающие изменеия клиенту перестанут закрывать аут и начнут
>> выталкивать
>> изменения.
>> David Mzareulyan wrote:
>>
>>> Hello Kostya,
>>>
>>>> А вот тут Вы не правы (скажу очень мягко). Это сильно зависит от
>>>> бекенда. У меня есть сессия, и мне выгодно иметь персистент
>>>> конекшен. Т.к. бекенд никогда не закончит отдавать, он будет писать
>>>> в аут до тех пор пока клиент не скажет логаут.
>>>>
>>> Эта задача, вообще говоря, не требует обязательного персистента с
>>> бэкендом. Но она да, требует некоторой доработки nginx-а. Это
>>> обсуждалось в рассылке, но, к сожалению, Игорь особого интереса к
>>> задаче не проявил.
>>>
>> А можно чуть подробнее? Пока не тестированно. Находится в глубокой
>> бете. Если бекенд "никогда" не закончит писать, то это не сработает в
>> случае фронтенда ngnix? Я только несколько дней как читаю эту конфу.
>
> Сработает, скорее всего. Если nginx не отрубит бэкенд по таймауту, 
> конечно, ну так это настраивается.
>
> А то, о чём я говорю -- это всевозможные сomet- и push-технологии, в 
> которых гораздо удобнее было бы разделить слой, поддерживающий 
> соединение с клиентом (nginx, очевидно) и слой, подающий в это 
> соединение данные (бэкенд). Но сейчас такую конструкцию сделать всё 
> равно невозможно.
>
>
>>>> Это дорго каждый раз устанавливать
>>>> соединение и т.п. С другой стороны от http тоже никак не уйдеш, есть
>>>> клиенты которые сидят за прокси, если прокси забыть то всех бы
>>>> спасли
>>>> tcp соединения... Но клиенты иногда еще посылают команды серверу. И
>>>> очень бы хотелось использовать тот же сокет, тогда на стороне
>>>> бекенда
>>>> я могу избежать авторизации.
>>> А это уже от корявости архитектуры. Не приспособлен HTTP для
>>> подобного, как не приспособлены кролики для лазанья по деревьям. И
>>> потом, что значит "тот же сокет"? Вы же сами только что о прокси
>>> говорили, за которым хоть миллиард китайцев сидеть может. И будут они
>>> все слать всё в "тот же сокет" без авторизации...
>>>
>>>> Проблемы тормозов на бекенде и решаем. Просто не хочется выставлять
>>>> прямо в инет сам бекенд. Просто страшно.
>>>>
>>>> p.s.
>>>> Я думаю господин Сысоев будет несколько обескуражен
>>>> основной задачей "как можно быстрее освободить процесс backend для
>>>> следующих запросов" :)
>>>> Andrew Sitnikov wrote:
>>>>> Hello Kostya,
>>>>>
>>>>> KA> Плохо. Даже отвратительно. Ну ладно.
>>>>>
>>>>> задача nginx как можно быстрее освободить процесс backend для
>>>>> следующих запросов, keepalive совсем
>>>>>
>>>>> этому не способствует. имхо вам надо не костыли а стороне frondend
>>>>> изобретать а решать проблему с вашим
>>>>>
>>>>> тормозным backend.
>>>>>
>
>





More information about the nginx-ru mailing list