Имеет ли смысл сделать веб-сервер / сервер приложений для Rails в NodeJS? - PullRequest
0 голосов
/ 02 октября 2011

ОК, в наши дни NodeJS - это все гудение, потому что он обрабатывает вещи неблокирующим асинхронным способом.Из-за этого он очень хорошо подходит для того, чтобы быть своего рода сервером, обрабатывающим запросы от нескольких клиентов одновременно.Поэтому мой вопрос заключается в том, имеет ли смысл с технической точки зрения писать универсальное приложение Rails и веб-сервер для производственного использования.Чтобы было ясно, это займет место (например) Apache и Phusion Passenger.Разве эта установка, теоретически, не будет быстрее обрабатывать запросы и отвечать на них?

Ответы [ 2 ]

2 голосов
/ 03 октября 2011

Вы можете использовать Nginx , Lighttpd или Mongrel2 , которые основаны на событиях и, вероятно, все еще сохраняют ваш Ruby on Rails.Насколько мне известно, все три из них используют события ввода-вывода и не создают и не разрушают потоки или вилки при каждом новом соединении.Таким образом, вы можете сохранить свой Ruby on Rails.Если вам нужен двунаправленный обмен данными для любого AJAX, я бы предложил подключить сервер Node.JS Socket.IO.

0 голосов
/ 02 октября 2011

Apache очень неэффективен при обработке одновременных соединений.Если у вас сценарий с большим объемом трафика, то узел должен справляться с соединениями лучше, чем Apache.Однако сам узел гораздо больше, чем просто http-сервер, можно создавать совершенно новые MVC-фреймворки, в отличие от Rails для создания веб-приложений.Возможно, пока не стоит писать http-сервер в узле, чтобы заменить Apache / Phusion Passenger.Node молод и еще не выпустил версию 1.0.

...