美國大帶寬服務器高并發處理的基本手段
1)客戶端發出請求層面:
盡量利用瀏覽器的緩存功能,減少訪問服務端,比如:js、css、圖片等
可以考慮使用壓縮傳輸的功能,減少網絡流量,也會提高傳輸速度
考慮使用異步請求,分批獲取數據
2)前端接收客戶端請求層面:
動靜分離,部分靜態資源可以直接從Nginx返回
按請求的不同,分發到不同的后端進行處理,比如:負載均衡、業務拆分訪問等
前面再加上一層來做多個Nginx的負載均衡,比如:LVS、F5等
還可以在更前面使用CDN服務
還可以對動態內容進行緩存,盡量減少訪問后端服務
3)Web服務器層面:
使用最新的JVM,并進行配置優化
對Web服務器進行配置優化,比如:調整內存數量、線程數量等
提供多個能提供相同服務的Web服務器,以實現負載均衡
仔細規劃Web服務器上部署的應用規模
對Web服務器進行集群
4)Web應用層面:
動態內容靜態化
Java開發優化
優化處理業務邏輯的算法
合理高效的利用緩存
優化訪問數據庫的Sql,可以考慮利用存儲過程等數據庫的能力
合理使用多線程,加快業務處理
部分業務可以考慮內存數據庫,或者是進行純內存處理
盡量避免遠程調用、大量I/O等耗時的操作
合理規劃事務等較為耗資源的操作
合理使用異步處理
對部分業務考慮采用預處理或者預計算的方式,減少實時計算量
內部系統間的業務盡量直接調用、直接處理,減少WebService、工作流等
5)數據庫層面:
合理選擇數據庫的引擎,比如Mysql的InnoDB與MyISAM引擎
進行配置優化
可以考慮使用存儲過程來處理復雜的數據邏輯
數據庫集群,進行讀寫分離
合理設計數據庫的表結構、索引等
分庫、分表,降低單庫、單表的數據量