Пул акцептора и балансировка нагрузки в Erlang?

Изhttp://www.erlang.org/doc/man/gen_tcp.html#accept-1:

Стоит отметить, что вызов accept не должен выполняться из процесса владельца сокета. При использовании эмулятора версии 5.5.3 и выше можно одновременно отправлять несколько запросов на прием от разных процессов, что позволяет создавать пул процессов-акцепторов, обрабатывающих входящие соединения.

(Q1), Означает ли это, что мы можем иметьединорогбалансировки нагрузки в Эрланге?

(Q2), Если да, существуют ли какие-либо серверы или библиотеки, использующие эту функцию?

(Q3) Единорог работает при условии, что обработка запросабыстрый, При том же предположении, возможно ли добиться лучшей производительности, комбинируя акцепторов и рабочих в Erlang?

Для тех, кто не знаком с Unicorn, это традиционный веб-сервер prefork для UNIX. Балансировка нагрузки между рабочими процессами осуществляется ядром ОС. Все работники имеют общий набор сокетов слушателей и неблокирует accept () с ними. Ядро решит, какому рабочему процессу дать сокет, и рабочие будут спать, если нечего принимать ().Я полагаю, что для одного сокета прослушивателя то же самое происходит, когда рабочие процессы блокируют accept (), а ядро ОС решает результат «гонки».

Ответы на вопрос(1)

Ваш ответ на вопрос