4

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

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

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

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

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

问题:

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

谢谢!

4

2 回答 2

3

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

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

我确实认为投票实际上不会做很多事情,所以与其进行完整的 rails 堆栈调用,不如尝试编写一个完成投票的小型机架方法。这可以让您免于加载 ActionController、ActionView 以及如果您以普通 SQL 将投票写入 DB 也可以使用 ActiveRecord。

于 2010-05-22T14:52:59.757 回答
2

查看一些 Auto Scaling 云计算解决方案,例如 EC2 的 AutoScaling http://aws.amazon.com/autoscaling/您设置了 EC2 何时为您启动新实例的参数。

如果您真的要小心,您可以构建一个僵尸网络来模拟您网站的流量http://www.talcottsystems.com/articles/build-your-own-botnet-with-ec2-and-capistrano-to-load -test-your-server-cluster-before-launch/

于 2010-05-22T17:20:09.280 回答