jberryman Asked: 2010-04-11 15:21:38 +0800 CST2010-04-11 15:21:38 +0800 CST 2010-04-11 15:21:38 +0800 CST 您使用什么技术来设计和横向扩展 Web 应用程序(在 EC2 中)? 772 具体来说,我正在寻找在云中扩展没有中央数据库服务器的 Web 应用程序的技术,但一般建议很好。 我遇到过GlusterFS,它看起来很棒,但我还不清楚它如何适合 Web 应用程序的架构。这对我来说也很有趣。 感谢您的建议和链接。 amazon-ec2 cloud-computing scalability glusterfs 2 个回答 Voted intellectdk 2010-04-11T18:01:22+08:002010-04-11T18:01:22+08:00 我会想到亚马逊的 SimpleDB,因为你已经在 aws 生态系统中了。但是很难说没有关于您的应用程序的更多信息,而不仅仅是“一个 Web 应用程序”。 rtacconi 2011-02-10T03:20:14+08:002011-02-10T03:20:14+08:00 您可以使用 Elastic Load Balancing http://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 的命令行工具,您可以配置何时应该创建服务器新实例,例如当服务器达到 70% 的 CPU 使用率时。 您可以使用 Varnish 进行静态缓存,安装在 Web 服务器的同一实例中或使用其自己的实例(更好)。 有很多解决方案,虽然最简单的一个是使用 Heroku。
我会想到亚马逊的 SimpleDB,因为你已经在 aws 生态系统中了。但是很难说没有关于您的应用程序的更多信息,而不仅仅是“一个 Web 应用程序”。
您可以使用 Elastic Load Balancing http://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 的命令行工具,您可以配置何时应该创建服务器新实例,例如当服务器达到 70% 的 CPU 使用率时。
您可以使用 Varnish 进行静态缓存,安装在 Web 服务器的同一实例中或使用其自己的实例(更好)。
有很多解决方案,虽然最简单的一个是使用 Heroku。