答案1
我首先会考虑亚马逊的 SimpleDB,因为您已经处于 AWS 生态系统中。但如果没有关于您的应用程序的更多信息,除了“Web 应用程序”之外,很难说。
答案2
您可以使用 Elastic Load Balancinghttp://aws.amazon.com/elasticloadbalancing/对几个 nginex Web 服务器进行负载平衡,然后使用 Thin (http://code.macournoyer.com/thin/) 配置为集群。作为云 DBMS,您可以使用 RDS,这是 Amazon 为 MySql 提供的。您可以使用 AR 会话存储或使用 memchaced 来共享会话。
Thin 是 Ruby 的应用程序服务器,但您可以用 Apache + mod_php、Tomcat 或其他任何服务器替代 Thin。
应用服务器应该安装一个集群文件系统,例如 GlusterFS,您应该将代码放在那里(任何服务器的代码都是相同的)。
然后,使用 Amazon 的命令行工具,您可以配置何时创建服务器新实例,例如当服务器的 CPU 使用率达到 70% 时。
您可以使用 Varnish 进行静态缓存,安装在 Web 服务器的同一实例中或使用它自己的实例(更好)。
有很多解决方案,但最简单的方法是使用 Heroku。