【问题标题】:Does TorqueBox provide REE support and how well?TorqueBox 是否提供 REE 支持以及如何提供支持?
【发布时间】:2012-01-19 19:32:36
【问题描述】:

TorqueBox Ruby 应用程序平台是否可以与 Ruby 企业版一起使用?如果是这样,那么 REE 和 Ruby 1.9.x 与 TorqueBox 一起使用时有什么明显的区别吗?

【问题讨论】:

    标签: ruby-on-rails ruby http torquebox


    【解决方案1】:

    Torquebox 仅在 JRuby 平台上运行应用程序。它可以在 1.8 或 1.9 模式下运行不同的应用程序,但不支持一些依赖于 C 扩展的 gem。

    【讨论】:

      【解决方案2】:

      根据 TorqueBox 文档,它的默认配置是用于 JRuby。话虽如此,它是开源的,并且很可能修改相应的资源以使用 REE 解释器或 1.9.x 标准解释器,但是最新版本的 JRuby 与 1.9.2 兼容,并且通常在较长时间内获得更好的性能的运行时间。

      我建议使用他们使用 JRuby 的默认配置。

      【讨论】:

      • 由于 TorqueBox 依赖于 JBoss AS7(在 JVM 上运行)提供的功能,因此仅限于 JRuby。尝试将 TorqueBox 移植到 REE 或 Ruby 1.9.x 需要重新实现从 JBoss AS7 免费获得的所有功能。
      【解决方案3】:

      我使用 REE 的唯一原因是写时复制的友好性,允许我以较低的内存成本分叉子进程。

      除了 TorqueBox 仅限于 JRuby(由于某些依赖项)之外,它是一个使用线程而不是进程进行扩展的平台。 Ruby 1.8(和 1.8 的 REE)使用绿色线程,不推荐。 Ruby 1.9 使用本机线程对此进行了改进,但是仍然有一个全局解释器锁 (GIL),因此在大多数情况下它仍然不是很有效(在某些情况下它确实提高了效率)。

      但是,使用没有 GIL 的 JRuby 或 Rubinius 可以实现真正的线程化,从长远来看,这可以实现更高效的内存使用、更好的垃圾收集,并允许您在通常会旋转的地方使用线程新进程。

      通读 TorqueBox 的文档后,它似乎是一个非常强大的一体化平台,可用于部署 Ruby 应用程序。在 JRuby 下绝对值得一试。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-06
        相关资源
        最近更新 更多