Описание тега unicorn

Unicorn - это HTTP-сервер для приложений Rack, предназначенный для обслуживания быстрых клиентов только в соединениях с малой задержкой и высокой пропускной способностью, а также для использования преимуществ в Unix/Unix-подобных ядрах. http://unicorn.bogomips.org/

единорог

Unicorn - это HTTP-сервер для приложений Rack, предназначенный для обслуживания быстрых клиентов только в соединениях с малой задержкой и высокой пропускной способностью, а также для использования преимуществ в Unix/Unix-подобных ядрах. Медленные клиенты должны обслуживаться только путем размещения обратного прокси-сервера, способного полностью буферизовать как запрос, так и ответ между Unicorn и медленными клиентами

Характеристики

  • Предназначен для Rack, Unix, быстрых клиентов и простоты отладки. Мы вырезали все, что лучше поддерживается операционной системой, nginx или Rack.
  • Совместим с Ruby 1.8 и 1.9. Поддержка Рубиния в процессе.
  • Управление процессами: Unicorn будет собирать и перезапускать работников, которые умирают из-за сломанных приложений. Нет необходимости самостоятельно управлять несколькими процессами или портами. Unicorn может порождать и управлять любым количеством рабочих процессов, которые вы выбираете для масштабирования на бэкэнд.
  • Балансировка нагрузки полностью выполняется ядром операционной системы. Запросы никогда не накапливаются за занятым рабочим процессом.
  • Не имеет значения, является ли ваше приложение поточно-ориентированным или нет, все работники работают в своем собственном изолированном адресном пространстве и обслуживают только одного клиента за раз для максимальной надежности.
  • Поддерживает все приложения Rack, а также версии Ruby on Rails до Rack через оболочку Rack.
  • Встроенное повторное открытие всех файлов журнала в вашем приложении по сигналу USR1. Это позволяет logrotate вращать файлы атомарно и быстро с помощью переименования вместо метода racy и slow copytruncate. Unicorn также предпринимает шаги для обеспечения того, чтобы многострочные записи журнала из одного запроса оставались в одном файле.
  • Двоичные обновления в стиле nginx без потери соединений. Вы можете обновить Unicorn, все ваше приложение, библиотеки и даже ваш интерпретатор Ruby, не отбрасывая клиентов. before_fork и after_fork, если у вашего приложения особые потребности при работе с разветвленными процессами. Они не должны понадобиться, когда директива preload_app имеет значение false (по умолчанию).
  • Может использоваться с дружественным к копированию при записи управлением памятью для экономии памяти (установив для preload_app значение true).
  • Способный прослушивать несколько интерфейсов, включая сокеты UNIX, каждый рабочий процесс может также связываться с частным портом через ловушку after_fork для легкой отладки.
  • Простой и легкий Ruby DSL для настройки.
  • Декодирует фрагментированные передачи на лету, что позволяет реализовать уведомление о ходе загрузки, а также возможность туннелирования произвольных потоковых протоколов через HTTP.

Лицензия

  • Авторские права на Unicorn 2009 принадлежат всем авторам (см. Логи в git). Он основан на Mongrel 1.1.5 и имеет ту же лицензию.

  • Mongrel является авторским правом 2007 Zed A. Shaw и соавторов. Он имеет три лицензии на ваш выбор (GPLv3, GPLv2 или Ruby). См. Прилагаемый файл ЛИЦЕНЗИИ для деталей.

  • Единорог является 100% свободным программным обеспечением.

Использован...

GitHub использует единорога и имеет отличный технический документ об этом. Они также используют Тонких и Пассажирских, а не только единорогов!

Вопросы

Конфигурация, установка, развертывание, производительность, оптимизация... Но, пожалуйста, сначала прочтите документацию Unicorn!