Появилась необходимость в конверторе синхронных HTTP запросов в асинхронные. По идее, задача как раз для nginx, поэтому сюда и пишу.
Работать должно примерно так:
1. На определенный урл поступает HTTP запрос;
2. Конвертер сохраняет запрос вместе с его сокетом в буфер с определенным идентификатором; 3. Запрос с присоединенным идентификатором передается в модуль асинхронной обработки (обычный fastcgi который регистрирует запрос в очереди на обработку и закрывает коннект);
4. По окончанию обработки, модуль асинхронной обработки отправляет на второй определенный урл (урл конвертера) через HTTP запрос идентификатор запроса из п.2 и результатирующий ответ на первый запрос; 5. Конвертер извлекает из буфера ждущих соединений нужный сокет и отдает в него результатирующий ответ.
Необходимость проистекает из-за высокой нагрузки и многообразия алгоритмов обработки запросов.
Может быть, если не nginx, то есть какие-то другие решения?