支持机架的Web服务器,在JRuby中运行,支持SSL和流

时间:2014-03-31 14:06:10

标签: ssl webserver jruby rack

我在寻找支持Ruby的网络服务器的机架时遇到问题,满足了我们的要求。我们已经编码的是使用Sinatra,因此我们的目标就是运行。

网络服务必须:

  • 在JRuby中运行
  • 支持SSL
  • 支持文件流。保持记忆效率远远高于表现者。
  • 是多平台(Windows和Linux版)
  • 尽可能轻量级 - 链接回内存效率

我们目前正在使用WEBrick,但它无法处理流媒体,因此我们正在寻找替代方案。我一直在寻找自己,但我很难找到有关各种机架网络服务器可以做什么和不能做什么的文档。我所看到的服务是:

  • WEBrick - 不支持流式传输
  • 精简 - 取决于C代码,因此不会在JRuby中运行
  • 乘客 - 同上(C代码)
  • Unicorn - ditto Thin(C Code)

我们已经意识到它可以部署J2EE容器,但是因为这需要用它来分发容器,所以如果我们能够避免它,我们就不要采用这种方法(就像它会一样)更重的解决方案)。

提前感谢人们给予的任何帮助。

2 个答案:

答案 0 :(得分:0)

Puma符合您的要求吗?它支持JRuby,SSL,Windows + Linux,并将自己宣传为轻量级。我担心我没有尝试过,也不知道它是否会传输文件。

答案 1 :(得分:0)

对于发现此问题且想知道我们最终使用的内容的任何人:我们选择了Trinidad,因为它符合我们所需的所有要求。

删除我们正在使用的原始WEBrick服务器并将其替换为Trinidad,同时仍然使用Sinatra这是一项非常简单的工作。然后我们使用JRuby将它全部包装到Jar中,并在JVM中作为自包含的Web服务包运行它。