Hello!

On Mon, Apr 21, 2014 at 09:46:08AM -0400, saaleb wrote:

> Здравствуйте.
> 
> У меня есть необходимость в создании модуля nginx следующего плана:
> 
> 1. Получение запроса HTTP
> 2. Разбор этого запроса 
> 3. Упаковка в спец. формат
> 3. Подключение к удаленному серверу - блокирующая операция
> 4. Отправка запроса - блокирующая операция
> 5. Ожидание ответа - блокирующая операция
> 6. Распаковка
> 7. Отправка ответа.
> 
> Я сделал модуль через handler, но похоже это не самый лучший вариант -
> веб-сервер на время блокирующих операций перестает обрабатывать остальные
> соединения и принимать новые. Как я понял, в данном случае нужно
> использовать upstream-тип модуля.
> Верно ли мое предположение?
> Есть ли возможность в upstream модуле получать уже распарсенные HTTP
> значения заголовков?
> Есть ли несложные для понимания примеры таких модулей?

Примеры модулей - proxy, fastcgi, scgi, uwsgi, memcached.  
Наиболее простой из всех вышеперечисленных -  memcached, на него и 
имеет смысл смотреть в первую очередь.

Кроме того, пример реализации протокола для upstream с пояснениями 
был у Evan'а Miller'а, ссылки есть тут:

http://nginx.org/en/links.html

-- 
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx-ru mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить