控制大流量系統穩定高效地運行

項目設計:假設有一個包含Tag功能的博客系統,數據庫存儲採用mysql,用戶數量爲1000萬,預計文章總數爲10億,每天有至少10萬的更新量,每天訪問量爲5000萬,對數據庫的讀寫操作的比例超過10:1。你如何設計該系統,以確保其系統高效,穩定的運行?
提示:可以從數據庫設計,系統框架,及網絡架構方面進行描述,可以寫代碼/僞代碼輔助說明,可以自由發揮.


使用nginx做負載均衡,如果預算允許可以使用F5,使用DNS輪詢的方式,後端使用服務器集羣的方式,數據庫採用主從分離,分區,分表的方式,在進入數據庫前採用動態數據緩存的方式,memcache讀寫比例可以使用主從分離,文章總數過大,可以採用單獨的表來存儲文章,並且採用分表的方式,將用戶的其他信息放在另外的一個表中,使用用戶id作爲外鍵關聯到文章表中,這樣可以使用戶的其它信息讀取出來,可以採用memcache緩存數據控制對數據庫的頻繁操作。
負載均衡集羣、雙節點熱備、分佈式處理等都可以用來解決單點故障,比如提供相同業務的Web服務器、MySQL數據庫從庫,都可以構建負載均衡集羣。一旦集羣中的一臺服務器、一個服務出現故障,自動實時摘除,對用戶來說是不可感知的,不會影響到整個網站的訪問,可以爲運維工程師留下足夠的時間去排查和解決故障。
可以臨時關閉一些Web中的次要功能,來減少服務器消耗。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章