Re: платформа для REST сервисов
Sergey Shepelev
temotor at gmail.com
Wed Dec 31 04:01:22 MSK 2008
Если апстримом называют nginx, то, еще получается нужно как-то
отслеживать на каких апстримах запрос уже был, потому что следущий
может кинуть запрос обратно на первый.
2008/12/31 Kostya Alexandrov <koticka at mail.ru>:
> Да, было бы интересно, еслиб в апстриме можно былобы конфигурировать
> максимальное количество
> одновременных запросов. При привышении которого либо busy либо след апстрим
> - конфигурабельно.
>
> Sergey Shepelev wrote:
>>
>> Добрый новый год.
>>
>> Почитал тред про CGI в nginx, утром обсуждали смежную задачку с колегом.
>> Только у меня идея была написать всю асинхронщину на питоне, а в
>> реальной жизни мы используем nginx + fastcgi на питоне.
>>
>> И в общем идея примерно такая.
>> Есть некий слой "А" асинхронной обработки запросов снаружи (повторюсь,
>> сейчас его роль офигительно выполняет nginx).
>> "А" знает, что в его распоряжении имеется, скажем 100 бекендов - 100
>> процессов. Думаю, оптимальное количество можно определить для
>> конкретной материнки и проца. (RFC)
>> Приходит внешний запрос от клиента. "А" здесь быстро принимает запрос
>> и ищет свободный воркер
>> если есть свободный воркер, (RFC)
>> помечает его как занятый
>> асинхронно шлёт запрос ему,
>> (и продолжает работать дальше)
>> если нет свободного воркера
>> ждем таймаут, если в течение таймаута свободного воркера не
>> появилось - возвращаем клиенту "таймаут" (RFC, кажется, nginx именно
>> так и умеет)
>> когда воркер вернул результат
>> отдаём клиенту,
>> помечаем воркер как свободный.
>>
>> К этому счастью нужно прикрутить админку бекендов с графиками и
>> полуавтоматическим контроллером пула воркеров, то есть чтоб некий
>> третий процесс контроллировал сколько нужно прибить лишних воркеров,
>> сколько нужно открыть новых (RFC).
>>
>> Получится наверно что-то вроде веб-части Google AppEngine.
>>
>
>
More information about the nginx-ru
mailing list