统计分析Rails应用程序的最佳托管方式

3
我正在开发一个基于用户数据执行回归分析的Web应用程序。
在后端,RoR负责应用程序逻辑,所有统计分析都由R完成(因为Ruby的统计包很差)。
考虑到R和RoR都是单线程的,并且预计该应用程序将同时被多个用户使用 - 我需要您的建议来确定最佳配置。
例如:是否应该在单独的实例上运行R和RoR机器,并通过REST使RoR与R通信?在同一台机器上运行两者并进行集群化?使用Revolution Analytics?
什么样的托管配置可以允许我的应用程序可扩展性?
2个回答

0

您可以创建代理来与多个Web服务器通信,而这些Web服务器又通过代理与多个R服务器通信。为了让代理服务器平衡负载,您可以查看类似于Nginx的上游指令。

下面的图表显示了3个Web服务器(它们是完全相同的克隆),以及3个R服务器(它们也是完全相同的克隆)。根据需要使用任意数量,因为添加/删除Web服务器或R服务器以进行水平扩展非常容易。

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

0

看看Rserve,当它在Linux上托管时,每次连接都会分叉出一个新实例。

连接是通过网络进行的,并且有Ruby客户端可用,如Google搜索所示


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接