统计分析Rails App的最佳托管

时间:2012-03-24 18:50:42

标签: ruby-on-rails ruby r cluster-computing statistics

我正在开发一个对用户数据执行回归分析的Web应用程序。

在后端, RoR 正在处理应用程序逻辑,所有统计分析都由 R 完成(因为Ruby的stat包很差)。

鉴于R和RoR都是单线程,并且应用程序预计将由多个用户同时使用 - 我需要您对最佳配置的建议。

例如:我应该在不同的实例上运行R和RoR机器并让RoR通过REST与R通信吗?在可以群集的同一台机器上运行?使用Revolution Analytics?

什么是一个好的托管配置,以允许我的应用程序的可扩展性?

2 个答案:

答案 0 :(得分:0)

查看Rserve,当在Linux上托管时,会在每个连接上分离一个新实例。

通过网络连接,并且有可用的Ruby客户端as indicated by a Google search

答案 1 :(得分:0)

您可以创建一个代理来与多个Web服务器进行通信,然后这些Web服务器中的每一个都通过代理与多个R_servers进行通信。要让代理服务器平衡负载,您可以查看类似Nginx的上游指令。

下图显示了3个Web服务器(它们是彼此的精确克隆)和3个R_servers(它们是彼此的精确克隆)。尽可能多地使用,因为添加/删除Web服务器或R_servers可以轻松地水平扩展。

        webserver1           R_server1
      /            \       /
proxy - webserver2 - proxy - R_server2
      \            /       \
        webserver3           R_server3