Mongrel

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Mongrel
Тип

Веб-сервер

Разработчик

Zed A. Shaw

Операционная система

Cross-platform

Последняя версия

1.1.5 (22 мая 2008 года)

Лицензия

Лицензия Ruby

Сайт

rubygems.org/gems/mongrel

Mongrel — это open-source HTTP-библиотека и веб-сервер, основанные на Ruby и написанные Зедом Шоу (Zed Shaw). Используется для запуска Ruby веб-приложений и предоставления стандартного HTTP-интерфейса. Это делает возможным использование отдельных слоев, таких как web proxy, балансировщика нагрузки или комбинацию обоих подходов, вместо необходимости использовать более традиционные методы, используемые для запуска сценариев, такие как FastCGI или SCGI. Это стало возможным за счет интеграции анализатора пользовательских высокопроизводительных HTTP запросов — Ragel.

С 2010 года проект больше не развивается, код Mongrel больше не поддерживается Ruby начиная с версии 1.9.2. Ему на замену пришёл Mongrel2, который уже не привязан к конкретному языку или фреймворку[1] и не имеет ничего общего с реализацией Mongrel за исключением парсера HTTP-запросов.

Развертывание[править | править код]

Одна из самых популярных конфигураций — это Apache 2.2 как балансировщик нагрузки, используя mod_proxy_balancer в связке с несколькими копиями Mongrel, каждая из которых запущена на отдельном порту. Оно так же может быть очень легко настроено с помощью утилиты mongrel_cluster_management. Apache может распределять входящие запросы между существующими процессами Mongrel и, в соответствии с настройками, может сам обрабатывать статическое содержимое без обращения к Mongrel. До недавнего времени Twitter был ярким тому примером.[2]

Для тех, кто не желает пользоваться Apache, существует возможность развертывать кластер Mongrel на альтернативных веб-серверах, таких как nginx или lighttpd и загружать балансировщики различными способами, такими как Pound или решениями на основе аппаратного обеспечения.

Mongrel способен самостоятельно обслуживать приложения Ruby on Rails, без использования сторонних веб-серверов, однако однопоточные приложения, соответствующие этой конфигурации, не пригодны к большим нагрузкам.

См. также[править | править код]

Ссылки[править | править код]

  1. Language Agnostic. Проверено 26 мая 2017.
  2. «Unicorn Power», Twitter Engineering Blog, March 30, 2010

Ссылки[править | править код]