процессы в Erlang

Nov 02, 2013 13:15

Вырисовывается такая ситуация с эрланговскими процессами в flussonic: есть быстрые, есть медленные и это становится достаточно жестким делением.

Медленные процессы могут заблокироваться на дисковое IO, на сетевые обращения или на какие-то долгие операции с ets. Т.е. в любом случае речь идет про один из нескольких вариантов IO, либо про обращение к такому же медленному процессу. Например, воркер процесса vod_file, нарезалка скриншотов или писалка архива - это медленный процессы. Так же обработчик веб-запроса - это тоже медленный процесс.

Быстрые процессы никогда не обращаются к медленным с помощью gen_server:call. Чаще всего это проверка длины очереди сообщений перед посылкой сообщения или более хитрая проверка длины очереди задач.

Некоторые медленные процессы прячутся за менеджером пула, который уже считается быстрым процессом и умеет отдавать тикеты задач другим быстрым процессам.

fp, erlyvideo, erlang

Previous post Next post
Up