Вышел первый публичный релиз web-сервера Mongrel2. В отличие от проекта Mongrel, представляющего собой привязанную к языку Ruby платформу для развертывания приложений на базе Ruby on Rails и подобных фреймворков, проект Mongrel2 не привязан к определенному языку программирования, приложениям и сетевой архитектуре. Код Mongrel2 написан на языке Си, построен на основе высокопроизводительного и проверенного временем HTTP-парсера из проекта Mongrel, использует БД SQLite для хранения конфигурации и библиотеку ZeroMQ для организации быстрого асинхронного обмена сообщениями с web-приложением. Исходные тексты распространяются в рамках лицензии BSD.
Основные особенности проекта Mongrel2:
- Поддержка запуска web-приложений, написанных на любом из 10 поддерживаемых языков программирования: Ruby,
Python,
C++,
PHP,
Haskell,
Common Lisp,
Perl,
.NET,
Clojure и Lua.
- Приложение выступает в роли бэкенда, напрямую взаимодействующего с ядром http-сервера посредством протокола ZeroMQ. Кроме того, поддерживается прямая отдача статического контента и работа в режиме перенаправляющего запросы прокси;
- Поддержка большого числа типичных для http-сервера возможностей, таких как виртуальные хосты, polling, обработка содержимого директорий, гибкие перенаправления, работа в роли прокси и балансировщика нагрузки;
- Гибкая система конфигурации, задаваемая в виде директив, сохраненных в SQL-представлении в БД SQLite, что значительно упрощает организацию автоматизации управления конфигурацией и интеграцию Mongrel2 со сторонними системами. Для упрощения ручной настройки в комплект входит специальный скрипт-конфигуратор m2sh, написанный на языке Python. Кроме того, возможно оформление конфигурации в виде текстового файла, который перед запуском транслируется в SQLite-представление;
- Наличие специального сетевого порта для мониторинга, оценки статуса работы сервера и выполнения управляющих команд;
- Совместимость с современными браузерными технологиями, такими как Flash XMLSockets, WebSockets, Long Polling.
|