Mysql
如何為 200 萬使用者部署 Web 應用程序?
我的任務是弄清楚如何為高可用性、高流量、動態、基於快閃記憶體的 Web 應用程序進行大規模部署。這個應用程序很有可能增長到 200 萬使用者,甚至更多。
當然,到了真正去做的時候,我可能會請一位專家來幫助我。目前,這都是理論上的,我只是想知道如何去做。
這是我目前的想法:
- 獲得 1 或 2 Gb 的網際網路連接。
- 2x HA 代理/負載平衡器。
- 12 個物理伺服器(2 個四核,32GB 記憶體)執行 25 個虛擬機 Apache Web 伺服器——總共 300 個虛擬機。
- 2x memcached 伺服器(2x 四核,32GB 記憶體)
- 2x 主 Mysql DB 伺服器,3x 只讀從屬 mysql BD 伺服器
- 2 個 6TB SAN RAID
- 所有 10GbE 或光纖連接…
我的工作主要是弄清楚硬體,以及如何部署和維護它。
至於維護這頭野獸,我正在研究 Slack、Rightscale、Landscape、VMware。
我也在考慮將它部署在 Amazon EC2 上,但我更願意自己安裝它,因為從長遠來看,它看起來會便宜得多。如果需要更多,我可以從這個機架開始並添加 EC2 實例。
你怎麼看,這是矯枉過正嗎?不夠?我弄明白了嗎,還有什麼我遺漏的嗎?
感謝所有閱讀和回复的人!
在 EC2 上開發它。如果/當您想在內部移動它時,設置您自己的Eucalyptus集群並將其移動到那裡,這將很容易,因為 Eucalyptus 是一個開源 EC2 基礎設施複製。
從我讀到的關於高可擴展性的內容來看,你最好的策略就是解決目前的瓶頸並開始為下一個瓶頸做計劃。除非您使用與某人已經使用過的完全相同的軟體和硬體,並且除非使用模式與您的規模相同,否則您現在無法計劃整個增長。你需要為目前階段和下一階段做計劃,而不是 200 萬使用者大關。