nginx e Perl: FastCGI vs proxy reverso (PSGI / Starman)

Atualmente, uma opção muito popular para a execução de aplicativos Web Perl parece estar por trás de solicitações de proxy de servidor da web nginx para um daemon FastCGI ou um servidor da Web habilitado para PSGI (por exemplo, Starman).

Há muitas perguntas sobre por que alguém faria isso em geral (por exemplo,Por que usar o nginx com Catalyst / Plack / Starman?) e as respostas parecem se aplicar nos dois casos (por exemplo, permitir que o nginx sirva conteúdo estático, reinicialização fácil do servidor de aplicativos, balanceamento de carga etc.)

No entanto, estou especificamente interessado nos prós / contras do uso do FastCGI vs uma abordagem de proxy reverso. Parece que a Starman é amplamente considerada o servidor de aplicativos / web Perl PSGI mais rápido e melhor existente, e estou lutando para ver alguma vantagem em usar o FastCGI. Ambas as abordagens parecem apoiar:

Soquetes de domínio UNIX e soquetes TCPservidores de estilo fork / gerenciador de processos e servidores não-baseados em eventos (por exemplo, AnyEvent).Manipulação de sinal / reinício normalPSGI

Da mesma forma, a configuração do nginx para qualquer opção é muito semelhante.

Então, por que você escolheria um sobre o outro?

questionAnswers(2)

yourAnswerToTheQuestion