除了JVM調(diào)優(yōu)之外, 我們還有哪些方案對互聯(lián)網(wǎng)項目進(jìn)行優(yōu)化呢?
為了提高項目的并發(fā)能力,負(fù)載能力,解決大數(shù)據(jù)存儲的問題,我們一般按照項目的三層結(jié)構(gòu)進(jìn)行優(yōu)化,具體如下:
一.數(shù)據(jù)層優(yōu)化
1.數(shù)據(jù)庫優(yōu)化
? ? 1.搭建數(shù)據(jù)庫集群(讀寫分離)
? ? 2. 分庫分表存儲
? ? 3.使用數(shù)據(jù)庫緩存(內(nèi)存)
? ? 4.優(yōu)化表設(shè)計(反第三范式, 打斷設(shè)計等減少表關(guān)系設(shè)計)
? ? 5.使用數(shù)據(jù)庫索引
? ? 6.優(yōu)化Sql語句
2.緩存優(yōu)化
? ? 1.使用Redis服務(wù)器存儲高頻查詢數(shù)據(jù)
3.搜索優(yōu)化
? ? 1.將參與搜索的數(shù)據(jù)放入索引庫
二.項目層優(yōu)化
1.項目架構(gòu)優(yōu)化
? ? 1.采用面向服務(wù)的分布式架構(gòu)
? ? 2.搭建項目集群
? ? 3.對tomcat服務(wù)器進(jìn)行優(yōu)化,jvm優(yōu)化
? ? 4.使用activeMQ對項目解耦分布
? ? 5.使用fastDFS分布式文件系統(tǒng)存儲文件
? ? 6.使用頁面靜態(tài)化和頁面緩存技術(shù)
三.應(yīng)用層優(yōu)化
1.負(fù)載均衡
? ? 1.Nginx 負(fù)載均衡
? ? 2.CDN 節(jié)點做靜態(tài)資源加速