你使用什么技术来devise和扩展水平(在EC2)的Web应用程序?

具体而言,我正在寻找扩展在云中没有中央数据库服务器的Web应用程序的技术,但一般的build议是非常棒的。

我遇到了GlusterFS ,看起来不错,但我还不清楚它如何适应Web应用程序的体系结构。 这对我也很有趣。

感谢您的build议和链接。

在我的头顶,我会看看亚马逊的SimpleDB,因为你已经进入aws生态系统了。 但是,如果没有关于你的应用程序的更多信息,就很难说它比它的“一个web应用程序”更好

您可以使用Elastic Load Balancing http://aws.amazon.com/elasticloadbalancing/来负载平衡一对nginex Web服务器,然后使用Thin( http://code.macourno.com/.com/thin/ )对两个或三个应用程序服务器进行负载平衡。configuration为一个集群。 作为云DBMS,你可以使用RDS,这是亚马逊为MySql提供的。 您可以共享会话,但使用AR会话存储或使用memchaced。

Thin是Ruby的一个应用服务器,但是你可以用Apache + mod_php,Tomcat或者其他的替代Thin。

应用程序服务器应该安装一个群集文件系统,如GlusterFS,你应该把你的代码(任何服务器相同的代码)。

然后使用Amazon的命令行工具,可以configuration服务器何时创build新实例,例如,当服务器达到70%的CPU使用率时。

您可以使用Varnish进行静态caching,安装在Web服务器的同一实例中,或者使用自己的实例(更好)。

有很多的解决scheme,但最简单的就是使用Heroku。