Ruby on Rails是否处理并发请求?
如果没有,怎么做呢?
答案 0 :(得分:7)
Ruby on Rails处理并发请求的次数少,因为它是运行Ruby on Rails的服务器来处理并发请求。当我说一个运行Ruby on Rails的服务器时,我指的是Phusion Passenger,Mongrel或WEBrick,例如Apache或Nginx。在大多数情况下,通过启动多个Ruby on Rails应用程序来实现并发,每个应用程序分别处理请求。虽然这可能需要比真正的线程方法更多的内存,但它并不要求Ruby on Rails开发人员编写线程安全的代码。
答案 1 :(得分:0)
你需要在类似JRuby的线程Ruby上运行像Puma这样的线程服务器。否则它只是服务器创建进程而不是线程,如Pushion Passenger。当然,您需要为此编写线程安全代码,这可能非常难以开发和维护。出于这个原因,大多数人都坚持单线程解决方案,虽然Rails 4默认是多线程的,所以我们可能会在不久的将来看到趋势的变化。