Mongrel

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

Mongrel
Тип Веб-сервер
Разработчик Zed A. Shaw
Написана на Ruby
Операционная система Cross-platform
Последняя версия
Лицензия Лицензия Ruby
Сайт rubygems.org/gems/mongrel

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

Развертывание

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

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

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

Примечания

  1. https://github.com/mongrel/mongrel/releases/tag/rel_1-1-5
  2. Zed Shaw. Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code. — Addison-Wesley Professional;, 2017.
  3. Language Agnostic. Дата обращения: 26 мая 2017.
  4. «Unicorn Power», Twitter Engineering Blog, March 30, 2010

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.