海量數據和高並發的解決方案
04-26
海量數據的解決方案
一、緩存和頁面靜態化緩存緩存的使用方式可以分為通過程序直接保存到內存中和使用緩存框架兩種方式。程序直接主要是使用Map,尤其是ConcurrentHashMap;而常用的緩存框架有Ehcache、Memcache和Redis等。
頁面靜態化緩存是將從資料庫中獲取到的數據保存起來,而頁面靜態化是將程序最後生成的頁面保存起來,使用頁面靜態化後就不需要每次調用都重新生成頁面了,不但不需要查詢資料庫,而且連應用程序處理都省了。所以,頁面靜態化同時對數據量大和並發量高兩大問題都有好處。頁面靜態化可以在程序中使用模板技術生成,如Freemarker和Velocity都可以根據模板生成靜態頁面,另外也可以使用緩存伺服器在應用伺服器的上一層緩存生成的頁面,如可以使用Squid,另外Nginx也提供了相應的功能。
二、資料庫優化資料庫的優化方法非常多,常用的有如下:表結構優化SQL語句優化
分區和分表索引優化使用存儲過程代替直接操作使用合理的冗餘高並發的解決方案
- 前端:非同步請求+資源靜態化+cdn
- 後端:請求隊列+輪詢分發+負載均衡+共享緩存
- 數據層:redis緩存+數據分表+寫隊列
- 存儲:raid陣列+熱備
- 網路:dns輪詢+DDOS攻擊防護
推薦閱讀:
※英特爾? 至強? Xeon處理器 科普
※[網站搭建·2] Vultr 海外 VPS 主機購買中文教程
※node.js構建靜態伺服器
※伺服器開發中網路故障排查經驗漫談
TAG:伺服器 |