Обрабатывает ли Ruby on Rails параллельные запросы? - PullRequest
6 голосов
/ 08 марта 2011

Обрабатывает ли Ruby on Rails параллельные запросы?

Если нет, то как сделать так?

Ответы [ 2 ]

7 голосов
/ 08 марта 2011

Меньше, что Ruby on Rails обрабатывает параллельные запросы, поскольку именно сервер, на котором работает Ruby on Rails, обрабатывает параллельные запросы.Когда я говорю о сервере, на котором работает Ruby on Rails, я имею в виду Phusion Passenger, Mongrel или WEBrick в сочетании, например, с Apache или Nginx.В большинстве случаев параллелизм достигается путем запуска нескольких приложений Ruby on Rails, каждое из которых обрабатывает запросы отдельно.Хотя для этого может потребоваться больше памяти, чем для действительно многопоточного подхода, разработчикам Ruby on Rails не требуется писать потокобезопасный код.

0 голосов
/ 26 июня 2013

Для этого вам нужно запустить многопоточный сервер, например, Puma, на многопоточном Ruby, например, JRuby. В противном случае это просто сервер, создающий процессы, а не потоки, как Pushion Passenger. Конечно, вам нужно написать потокобезопасный код для этого, что может быть очень сложно разработать и поддерживать. По этой причине большинство людей придерживаются однопоточных решений, хотя Rails 4 по умолчанию является многопоточным, и в ближайшем будущем мы можем увидеть изменение тренда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...