如何为 200 万用户部署 Web 应用程序?

lys*_*xic 2 mysql scaling web-server high-availability memcached

我的任务是弄清楚如何为高可用性、高流量、动态、基于 Flash 的 Web 应用程序进行大规模部署。该应用程序很有可能会增长到 200 万用户或更多。

当然,到了真正做的时候,我很可能会请一位专家来帮助我。目前,这都是理论上的,我只是想知道如何去做。

这是我目前的想法:

  • 获得 1 或 2 千兆位的互联网连接。
  • 2 个 HA 代理/负载平衡器。
  • 12 个物理服务器(2 个四核,32GB 内存)运行 25 个虚拟机 Apache Web 服务器 - 总共 300 个虚拟机。
  • 2 个 memcached 服务器(2 个四核,32GB 内存)
  • 2x Master Mysql DB 服务器,3x 只读从属 mysql BD 服务器
  • 2 个 6TB SAN RAID
  • 所有 10GbE 或光纤连接...

我的工作主要是弄清楚硬件,以及如何部署和维护它。

至于维护这个野兽,我正在研究 Slack、Rightscale、Landscape、VMware。

我也在考虑将它部署在 Amazon EC2 上,但我更愿意自己架设它,因为从长远来看,它看起来会便宜得多。如果需要更多,我可能会从这个机架开始并添加 EC2 实例。

你怎么看,这是矫枉过正吗?不够?我弄明白了吗,有什么我遗漏的吗?

感谢所有阅读和回复的人!

pjz*_*pjz 6

在 EC2 上开发它。如果/当您想在内部移动它时,请设置您自己的Eucalyptus集群并将其移动到那里,这很容易,因为 Eucalyptus 是一个开源 EC2 基础设施克隆。