ruby-on-rails - 托管高流量的 Facebook 应用程序(游戏)

标签 ruby-on-rails ruby facebook high-load

我们目前正在开发一个高流量的 facebook 应用程序。所有流量都将在一个月内完成,那里有 500.000 到 1.000.000 的预期用户。 那个月之后,游戏结束,我们有一个赢家 - 所以应用程序将被存档。

我们目前正计划使用 ruby​​ on rails 开发应用程序,并寻找可以处理流量的托管选项。问题不在于用户,而在于峰值:我们将在短时间内每天收到大约 500.000 个请求(假设在最坏的情况下在 3 分钟内)

我们预计该应用程序的用户数量为 500.000 到 1.000.000,高峰时间为下午 1:00(时区 GMT+1),其中大多数(最多 80% 的用户)将发送大部分请求。请求从 6 月 11 日到 7 月 11 日 - 之后,应用/游戏关闭/结束。

我们目前正在开发一种积极的缓存机制 - 目前我们正在考虑使用 2 或 3 个小型应用程序/网络服务来处理负载。

负载分布如下: a) 主应用程序,缓存数据(11 个屏幕,每个 200k) b) 投票:每天到下午1:00(时区GMT+1)——每个用户投票发送约10k数据,高并发峰值!

问题:

  • 是否有任何值得推荐的特定应用程序设置?
  • 有没有可以推荐的托管合作伙伴?

谢谢!

最佳答案

好吧,如果你提供的内容都被缓存了,那么你就很好了,一些 nginx 实例可以提供几乎无限的静态页面。

投票听起来不太好,因为它应该同时发生。 高并发负载的新热点似乎是 node.js,但我对此没有任何经验。

我确实认为,虽然投票实际上不会做很多事情,但与其进行完整的 Rails 堆栈调用,不如尝试编写一个完成投票的小型 rack 方法。这使您无需加载 ActionController、ActionView,如果您使用纯 SQL 将投票写入数据库,还可以使用 ActiveRecord。

关于ruby-on-rails - 托管高流量的 Facebook 应用程序(游戏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2888495/

相关文章:

具有多个 RDBMS 的 PHP、Python、Ruby 应用程序

ruby-on-rails - 为什么 'ApplicationRecord.descendants.count' 给出 1 即使有很多 ApplicationRecord 的后代(继承模型)?

java - 安卓 Facebook 对话框

ruby-on-rails - 为什么 Rails 不能在第二个终端窗口中工作?

ruby-on-rails - 如何传递 ransack 参数 [ :q] object to another method in rails

ruby-on-rails - 为什么 ActiveRecord 对每个连接发出单独的查询?

ruby - 当前面有特定字符串时,如何找到所有出现的字符序列?

php - 目标 [League\OAuth2\Server\Repositories\ClientRepositoryInterface] 在构建 [League\OAuth2\Server\AuthorizationServer] 时不可实例化

android - Graph Api 不在 Android 上返回性别

mysql - 启动 ror 应用程序时无法连接到 mysql