Jboss 用于高性能/任务关键型应用的JRuby/TorqueBox

Jboss 用于高性能/任务关键型应用的JRuby/TorqueBox,jboss,jruby,torquebox,mission-critical,Jboss,Jruby,Torquebox,Mission Critical,我们正在评估开发电信相关应用程序平台(以及将一些独立应用程序迁移/整合到新平台)的几个选项。我们主要关注的问题之一是在高峰时间处理大量请求的能力 我们认为TorqueBox似乎是一个值得考虑的有趣解决方案,因为: 速度(仅次于纯Java性能) 比Java更快的开发时间 维修性 支持线程/并发,即使它是Ruby 使用Rails加快/简化前端开发 RedHat支持JBoss并在JBoss上运行(可扩展性、未来开发以及必要时调用Java的能力) 是否有人使用JRuby/TorqueBox开发/部

我们正在评估开发电信相关应用程序平台(以及将一些独立应用程序迁移/整合到新平台)的几个选项。我们主要关注的问题之一是在高峰时间处理大量请求的能力

我们认为TorqueBox似乎是一个值得考虑的有趣解决方案,因为:

  • 速度(仅次于纯Java性能)
  • 比Java更快的开发时间
  • 维修性
  • 支持线程/并发,即使它是Ruby
  • 使用Rails加快/简化前端开发
  • RedHat支持JBoss并在JBoss上运行(可扩展性、未来开发以及必要时调用Java的能力)
  • 是否有人使用JRuby/TorqueBox开发/部署过类似的应用程序
  • 有没有严重的性能瓶颈?(或者为什么我们不应该使用JRuby,而应该坚持使用Java?)

  • 是的,任何带有JRuby的成熟Java web服务器都是一个有价值的选择。在高峰时间处理高负载的细节实际上取决于您将运行哪种应用程序,您可以使用多少“硬件”,但一般来说这是可以实现的,但请注意可能仍然存在一些“问题”,例如Ruby库(GEM)不能很好地处理线程安全性。您只需要了解如何继续,而不是-这似乎是因为您想使用“赛璐珞.IO”:

    答案是肯定的,但要注意内存泄漏(gems、线程安全问题等)。您必须熟悉VisualVM、EclipseMat和/或NewRelic等工具

    我们在amazon EC2上成功地为一些客户机在生产中使用了Torquebox,每天处理60k-80k的访问量(新的c3实例对于Java来说非常好)

    部署也是一个问题。由于内存消耗,我们无法设置任何类型的滚动重启。因此,每次我们使用Capistrano进行部署时,都需要完全重启JBoss(对我们来说没什么大问题)

    最好的,
    Antonio

    根据我从基准测试和IRC收集的信息:JRuby/Torquebox能够并且确实能够很好地处理高负载。我们可能正在使用celluoid.IO(用于并发)+TorqueBox开发一个PoC应用程序,并测试它与Java参考应用程序的性能。如果我们决定开发JRuby PoC应用程序,将使用load stats进行更新。结合赛璐珞:io和Torquebox似乎是一种过火的做法,至少对我们的需求来说是这样,我们最终使用了TB的内置队列功能,这些功能似乎可以正常工作。需要注意的一点是,我们注意到在开发模式下运行会导致jboss内存限制错误。在生产模式下部署应用程序可以解决这些问题。赛璐珞:一旦我们真正了解了需求并熟悉了TB,我们就满足于JB/TB的内置队列,IO对我们的情况来说似乎是一种过度的杀伤力。