Гидроним
- 1 year ago
- 0
- 0
Mongrel — open-source HTTP -библиотека и веб-сервер, основанные на Ruby и написанные Зедом Шоу (Zed Shaw) . Используется для запуска Ruby веб-приложений и предоставления стандартного HTTP-интерфейса. Это делает возможным использование отдельных слоев, таких как , балансировщика нагрузки или комбинацию обоих подходов, вместо необходимости использовать более традиционные методы, используемые для запуска сценариев, такие как FastCGI или SCGI . Это стало возможным за счет интеграции анализатора пользовательских высокопроизводительных HTTP запросов — Ragel .
С 2010 года проект больше не развивается, код Mongrel больше не поддерживается Ruby начиная с версии 1.9.2. Ему на замену пришёл , который уже не привязан к конкретному языку или фреймворку и не имеет ничего общего с реализацией Mongrel за исключением парсера HTTP-запросов.
Одна из самых популярных конфигураций — это Apache 2.2 как балансировщик нагрузки, используя mod_proxy_balancer в связке с несколькими копиями Mongrel, каждая из которых запущена на отдельном порту. Оно так же может быть очень легко настроено с помощью утилиты mongrel_cluster_management. Apache может распределять входящие запросы между существующими процессами Mongrel и, в соответствии с настройками, может сам обрабатывать без обращения к Mongrel. До недавнего времени Twitter был ярким тому примером.
Для тех, кто не желает пользоваться Apache, существует возможность развертывать кластер Mongrel на альтернативных веб-серверах, таких как nginx или lighttpd и загружать балансировщики различными способами, такими как Pound или решениями на основе аппаратного обеспечения .
Mongrel способен самостоятельно обслуживать приложения Ruby on Rails , без использования сторонних веб-серверов, однако однопоточные приложения, соответствующие этой конфигурации, не пригодны к большим нагрузкам.