"простая json апишка с походом в N внешних источников", как-то не подумал об 
этом. :-)


Спасибо.




On Friday, 22 November 2013, 13:01, Mons Anderson <[email protected]> wrote:

On 22.11.2013, at 7:28, ksvs <[email protected]> wrote:

> Привет.
> 
> Mons, а расскажите лучше тут об области применения AnyEvent-HTTP-Server-II.

Ко мне можно на ты)

> 
> Отдавать web множеству медленных клиентов? Нет, для этого впереди ставят 
> nginx.
> 
> Держать множество открытых соединений. А для чего? Для информирования клиента 
> о каком-то событии? Но ведь этого есть специализированные решения, которые 
> быстрей perl. На перле закинул ему сообщение, а он уже дальше клиенту 
> передаст.
> 
> Другое ничего в голову не приходит, а жутко интересно!

В принципе всё очень просто: для того, чтобы иметь полную власть над обработкой 
http-запросов в асинхронном режиме.

Возьмем простой пример: простая json апишка с походом в N внешних источников.

в случае обычной синхронной модели (будь то апач, fastcgi или psgi) запросы 
выполняются последовательно в отдельном процессе.
соовтетственно:
Минимальное время ответа = sum(response times)
Максимальное кол-во одновременно обрабатываемых запросов = max(processes)
processes > CPUcores -> load average > 1

если процесс асинхронный:
Минимальное время ответа = max(response times) # в идеальном случае, когда все 
можно запараллелить
Максимальное кол-во одновременно обрабатываемых запросов = столько, на сколько 
хватит cpu. например 10000 - не проблема
load average < 1, т.к. количество процессов < CPU cores. следовательно четкое 
планирование ресурсов, отсутствие оверхеда от планировщика системы.

Что конкретно у нас решается с его помощью:

- Различные API. AE::HTTP::Server -> ( DB(tarantool, sql) | other api) -> json
- Streaming zip. AE::HTTP::Server -> AE::http_request -> IO::Compress -> 
chunked reply


> 
> P.S.
> Пока не посмотрел видео с вашим докладом, думал, что Mons - это такой 
> бородатый дядька, - ведь в рассылке так и говорят, что Mons мега-гуру, 
> который 1000 лет на перле пишет!
> 

Ну, бороду я периодически сбриваю )
И на перле я пишу в 70 раз меньшее время )


-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить