Подтвердить что ты не робот

Почему я хотел бы использовать единорог или тонкий вместо WEBrick для целей развития?

Недавно я обнаружил, что некоторые люди предпочитают использовать unicorn_rails вместо стандартного WEBrick в качестве веб-сервера для разработки приложений Rails.

Я понимаю, что если бы я хотел использовать единорога в производстве, может возникнуть смысл попробовать его в разработке, но так как конфигурация отличается в производстве, это даже актуально?

Есть ли какое-либо реальное, осязаемое преимущество, которое я получал бы от использования thin или unicorn вместо WEBrick для разработки приложения Rails, такого как скорость или некоторые дополнительные функции? Или это просто вопрос личных предпочтений?

4b9b3361

Ответ 1

Важно как можно ближе развиваться в производственной среде. Это помогает гарантировать, что приложение будет работать, как ожидалось, при развертывании в производство, вместо того, чтобы натыкаться на ошибки во время выполнения.

Эта проблема устранена с использованием Continuous Testing на сервере Build, который реплицирует производственную среду. Несмотря на то, что вы не активно развиваетесь в идентичной среде, Continuous Testing дает вам представление о том, что приложение работает ожидаемым образом.

Что касается скорости, производительность при запуске приложения Rails в режиме разработки будет отрицать любую выгоду, которую приносят различные веб-серверы.

Ответ 2

В дополнение к другим ответам, дающим довольно хороший обзор, есть также техническая причина, по которой вам может потребоваться использование единорога над WEBrick:

WEBrick не поддерживает поддомены. Поддержка HTTPS довольно халатная для реализации.

Итак, если у вас есть приложение SaaS, использующее поддомены, или если вы просто хотите иметь поддомен admin/api/..., то WEBrick не является вариантом. Существует POW для Mac OS X, но это не будет работать для разработчиков Linux.

Ответ 3

Мой личный опыт заключается в том, что Unicorn намного быстрее, чем WEBrick при использовании удаленного компьютера (ubuntu, 4 ядра, 8G mem, подключение через VPN → ssh) в качестве среды разработки (как и я) - я вижу sub -1 секундная загрузка страницы с Unicorn, а WEBrick занимает от 3 до 5 секунд или более. Я не уверен, почему, возможно, это больше связано с моей сетью, чем с чем-то еще, но это то, что я лично вижу.

Я не использовал Thin для разработки, так как я читал, что для создания перезагрузки класса в режиме разработки требуется дополнительный камень, который я лично не могу подтвердить достоверностью. Кроме того, я больше знаком с Единорогом и использую его в производстве.

Ответ 4

Мой личный опыт заключается в том, что WEBrick быстрее работает в моей среде разработки, чем Unicorn и Thin (OS X) в довольно большом приложении Rails (много драгоценных камней, маршрутов и т.д.). Но вы должны измерить его самостоятельно, с помощью своего приложения на своей машине (я тестировал с помощью ab и с помощью инструментов разработчика Chrome).

Однако использование одного и того же сервера в производстве и разработке - очень хорошая идея.