考虑一个web应用程序,其中对应用程序的调用由运行多个MySQL查询的PHP脚本组成,其中一些是memcached。 PHP不会做非常复杂的工作。它主要是用一些格式化服务MySQL数据。使用Nginx代替Apache时,单独的MySQL服务器是否有意义?
过去曾建议将MySQL和应用程序引擎(PHP/Apache)放在不同的盒子上。但是,当数据可以水平分割时(例如,当有十个不同的客户使用该服务并且可以划分每个客户的数据时),并且当使用Nginx + FastCGI而不是较重的Apache时,doesn'不会使用Nginx + FastCGI,把Nginx的Memcache和MySQL放在同一个盒子里有意义吗?那么当更多的客户来到时,添加类似的盒子?
背景:我们正在转向Amazon Ec2。另外一个用于MySQL和应用服务器的盒子意味着双EBS卷(在应用服务器上需要保持代码不变,因为它经常变化)。此外,如果数据库框出现问题,则更多客户将失败。
说明:目前应用程序在单个服务器上运行LAMP(在转移到EC2之前)。