<HTML><BODY><p>Здравствуйте, Андрей!<br><br>Вам хочется не конвертера, а работы FastCGI протокола в multiplex connections режиме.<br><br>Какая схема:<br>1) Много внешних клиентов открывают соединения с nginx<br>2) nginx открывает с FastCGI бекендом ограниченное количество FastCGI соединений в
multiplex connections режиме
<br>3) nginx мультиплексирует запросы от большого количества внешних клиентов через ограниченное число FastCGI соединений.<br>4) FastCGI бекенд мультиплексирует ответы через ограниченное число FastCGI соединений. <br>5) nginx отдает ответы внешним клиентам.<br><br>На сколько я понял, nginx не поддерживает multiplex connections режим
FastCGI протокола, но движется в этом направлении: поддерживается keep-alive для FastCGI.<br><br>PS: multiplex connections режим
должен уметь еще и бекенд, но это уже другая история.<br><br><br>С почтением,<br> Илья Винокуров.<br><br><br>Wed, 25 Apr 2012 10:13:33 +0400 от Andrey Velikoredchanin <uncleandyv@gmail.com>:<br></p><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;" class="mailru-blockquote"><div id="style_a_13353344590000000614">Всем привет!<br><br>Появилась необходимость в конверторе синхронных HTTP запросов в асинхронные. По идее, задача как раз для nginx, поэтому сюда и пишу.<br><br>Работать должно примерно так:<br><br>1. На определенный урл поступает HTTP запрос;<br>
2. Конвертер сохраняет запрос вместе с его сокетом в буфер с определенным идентификатором;<br>3. Запрос с присоединенным идентификатором передается в модуль асинхронной обработки (обычный fastcgi который регистрирует запрос в очереди на обработку и закрывает коннект);<br>
4. По окончанию обработки, модуль асинхронной обработки отправляет на второй определенный урл (урл конвертера) через HTTP запрос идентификатор запроса из п.2 и результатирующий ответ на первый запрос;<br>5. Конвертер извлекает из буфера ждущих соединений нужный сокет и отдает в него результатирующий ответ.<br>
<br>Необходимость проистекает из-за высокой нагрузки и многообразия алгоритмов обработки запросов.<br><br>Может быть, если не nginx, то есть какие-то другие решения?<br><br>Спасибо.<br>
</div></blockquote><p><br></p></BODY></HTML>