Pool de aceitadores e balanceamento de carga em Erlang?

Dehttp://www.erlang.org/doc/man/gen_tcp.html#accept-1:

Vale a pena observar que a chamada de aceitação não precisa ser emitida a partir do processo do proprietário do soquete. Usando a versão 5.5.3 e superior do emulador, várias chamadas aceitas simultâneas podem ser emitidas a partir de processos diferentes, o que permite um conjunto de processos do aceitador que manipulam conexões de entrada.

(Q1) Isso significa que podemos terUnicórnioBalanceamento de carga em estilo Erlang?

(Q2) Em caso afirmativo, existem servidores ou bibliotecas existentes que usam esse recurso?

(Q3) O Unicorn trabalha sob a suposição de que o processamento da solicitação évelozes. Sob a mesma suposição, é possível obter um melhor desempenho combinando aceitantes e trabalhadores em Erlang?

Para aqueles que não estão familiarizados com o Unicorn, ele é um servidor web prefork UNIX tradicional. O balanceamento de carga entre os processos de trabalho é feito pelo kernel do sistema operacional. Todos os trabalhadores compartilham um conjunto comum de soquetes do listener e aceitam () não-bloqueantes neles. O kernel decidirá qual processo de trabalho fornecerá um soquete e os trabalhadores irão dormir se não houver nada a aceitar ().Para um soquete de ouvinte único, acredito que seja o mesmo quando os processos de trabalho bloqueiam accept () e o kernel do sistema operacional decide o resultado da "corrida".

questionAnswers(1)

yourAnswerToTheQuestion