Очень популярный выбор для запуска веб-приложений Perl в наши дни, похоже, стоит за веб-сервером nginx, передающим запросы либо на демон FastCGI, либо на веб-сервер с поддержкой PSGI (например, Starman).
Было много вопросов о том, почему вообще можно это делать (например, Зачем использовать nginx с Catalyst / Plack / Starman? )
и ответы, кажется, применимы в обоих случаях (например, позволяют nginx обслуживать статический контент, легко перезагружать сервер приложений, балансировать нагрузку и т. д.)
Однако меня особенно интересуют плюсы и минусы использования FastCGI против подхода с обратным прокси. Кажется, что Starman по праву считается самым быстрым и лучшим Perl PSGI-приложением / веб-сервером, и я изо всех сил пытаюсь увидеть какие-либо преимущества использования FastCGI вообще. Оба подхода, похоже, поддерживают:
- доменные сокеты UNIX, а также сокеты TCP
- серверы в стиле менеджера вилок / процессов, а также неблокирующие серверы на основе событий (например, AnyEvent).
- Обработка сигналов / постепенный перезапуск
- PSGI
Точно так же конфигурация nginx для любого варианта очень похожа.
Так почему бы вы выбрали один из других?