相关疑难解决方法(0)

在 EC2 上设置 Rails 2.3.x 应用程序以实现轻松的可扩展性

我在一台专用机器上运行一个简单的 rails 堆栈。我们正在达到我们的全部容量并且完全没有扩展设置,只有一台机器上的一个应用程序。我做了一些研究,并提出了一个潜在的可扩展堆栈。我不是专业管理员,但我已经就我们应该如何使用 EC2 提出了一些想法。我仍然有点不确定文件系统共享,这是我的主要问题所在。首先,这是我要处理的。

当前堆栈:

  • 导轨 2.3.11
  • PostgreSQL
  • 乘客+nginx
  • 延迟作业
  • 狮身人面像+thinking_sphinx
  • imagemagick(重图像处理)
  • jaxer(将解释)

我们的应用程序的作用:

我们的应用程序使用 ImageMagick 执行大量图像上传和繁重的图像处理。它还与 jaxer 对话以进行冗长的画布到图像的转换。所有这些都在延迟工作中。我们想确保这些东西尤其可以扩展。所以我们谈论的是快速增长的文件存储需求和后台作业中繁重的图像处理。

到目前为止我的决定:

  • 使用 Rubber gem 帮助部署/管理
  • 从 delay_job 移动到 redis/resque,以便更轻松地解耦工作人员(客户端/服务器)、多个队列和 sinatra Web 界面
  • 有像 app、db、web、redis、resque 这样的角色,一开始所有的东西都在一个 ec2 实例上,但很快就把 redis/resque 的东西拆分成一个单独的实例,可能还有更多

问题:

主要的实际问题是:所有文件会发生什么?如果我决定将应用程序角色拆分为多个实例,如何获得共享文件系统访问权限?

此外,很高兴听到关于我的设置的一些想法。

scalability ruby-on-rails distributed-filesystems amazon-ec2

3
推荐指数
1
解决办法
1920
查看次数