3

我的项目需要 Rails 和 Java 才能获得特殊的扩展能力。

我们首先启动了一个纯 JRuby on Rails 项目,并将其部署到 Tomcat。问题是我们的 Tomcat 服务器的资源非常有限,只有 20-30 个线程。这意味着我们的网络应用程序一次只能同时为 20-30 个用户提供服务。

我们计划通过使用 EventMachine 将一些繁重的同步代码转换为事件代码来提高吞吐量。使用事件代码,单个线程可以做更多的工作,而不是等待长时间的工作完成。

但是要使用 EventMachine,Web 服务器必须是基于事件的,而 Tomcat 则不是这样。

JRuby/Tomcat 中似乎没有混合多线程和事件解决方案,因此我们决定将 Servlet 3.0 中的异步支持与我们当前的 Rails 应用程序结合起来。部分代码将使用 Java 和 Servlet 库编写。这听起来很疯狂,但我们认为它最适合我们。

无论如何我可以用 JRuby Rails、Warbler 和 Java Servlet 3.0 做到这一点吗?

感谢您的所有兴趣。任何建议都非常感谢。

4

1 回答 1

0

我自己没有尝试过,但我想您应该能够创建一个标准的 jruby+rails 应用程序,将其打包为一个 war 文件,然后配置 web.xml 以在某些 url 上使用 servlet。

此外,该基准表明混合 java 和 jruby 解决方案是优化瓶颈的好主意http://www.techempower.com/blog/2013/03/28/framework-benchmarks/

于 2013-04-04T09:07:15.660 回答