[Moscow.pm] Moscow.pm party: доклад-реквесты

ksvs ksvs1996 на ymail.com
Пт Ноя 22 04:48:55 PST 2013


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


Спасибо.




On Friday, 22 November 2013, 13:01, Mons Anderson <mons на cpan.org> wrote:

On 22.11.2013, at 7:28, ksvs <ksvs1996 на ymail.com> 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
moscow-pm на pm.org | http://moscow.pm.org



Подробная информация о списке рассылки Moscow-pm