[Moscow.pm] nginx-perl prerelease 1.1.6.1

Ruslan Zakirov ruz на bestpractical.com
Вс Ноя 13 04:30:16 PST 2011


2011/11/12 Alexandr Gomoliako <zzz на zzz.org.ua>:
> On 11/12/11, Ruslan Zakirov <ruz на bestpractical.com> wrote:
>> 2011/11/12 Yury Pats <yu.pats на gmail.com>:
>>> В перспективе nginx-perl сможет заменить mod_perl и apache?
>
> Тут смысл совсем не в функционале модперла апача, а чтобы
> можно было запустить что-то в бэкграунде, отправлять запрос
> параллельно на несколько бэкендов, создавать очереди
> соединений и т.д.
>
>> Врядли. Блокировать это дело нельзя.
>
> Блокировать можно, ничего страшного в этом нет. Просто запускайте
> больше воркеров. Никаких проблем, а только больше удобства.

Какой в этом смысл тогда? Чем это будет отличаться от других серверов?
Тогда одно отличие, что можно послать асинхронно запрос, что-то
поделать.


>> Юра, если ты не испольщуешь что-то кроме ResponeHandler, то нет
>> никакого смысла испольовать mod_perl. Просто перейти на FCGI. Тогда не
>> нужен обратный прокси и легко переключиться на другой сервер.
>
> Или уже PSGI, Миягава упорно его развивает http://plackperl.org/

psgi тоже хорошо.

> Если посмотрите на асинхронные PSGI северы Feersum и Twiggy, то они
> точно так же блокируют воркер при работе с DBI или чем-то таким.

Плохо, что блокируют. В современном веб приложении общаемся больше
всего с БД, а все остальное обработка текста и преобразование
полученых данных. Блокировать общение с БД тоже самое, что превратить
событийный сервер в форкающийся. Какими же такими плюсами обладает
такое решение, что дажее блокируя его все равно мы остаемся в плюсе.

> На счет внедрения в AE, то тут API выше уровня, т.е. нет колбэков,
> когда можно что-то читать, а только, когда уже полностью прочитано
> в указанный буффер.

Было бы интересно получить AE приложение, которое работает совместно с
nginx loop'ом и периодически передают друг другу управление. То есть
должно быть неважно использую ли я ngx соединения с чем-то еще или
AE'шные соединения. Не знаю возможно ли такое в принципе поиметь с API
nginx. Что скажете?

Хочется AE, потому что есть готовые решения для различных задач,
переносимость, работа кода за пределами веб сервера.

> Да и зачем, наоборот хотелось простоты. Т.е. грубо, создали коннектор,
> подключились, создали в колбеке ридер и вернули NGX_READ
> из колбэка коннектора, т.е. следующая операция: чтение.
> И когда буфер ридера заполнится, вызовется его колбэк.
> По-моему достаточно просто.

Я не хаю. Мне нравится.

-- 
Best regards, Ruslan.


Подробная информация о списке рассылки Moscow-pm