JAVA中高訪問量高併發的問題的一部分解決方案
個人見解,希望大家多多提出意見
1.儘量使用快取技術來做。使用者快取、頁面快取等一切快取,使用特定的機制進行重新整理。利用消耗記憶體空間來換取使用者的效率。同時減少資料庫的訪問次數。
2.把資料庫的查詢語句進行優化,一般複雜的SQL語句就不要使用ORM框架自帶的做法來寫,採用自己來寫SQL,例如hibernate的hql中的複雜語句,就會很耗時
3.優化資料庫表的結構,在關鍵字、主鍵、訪問率極高的欄位中加入索引。但儘量只是在數字型別上面加。因為使用 欄位 is null的時候,索引的效果會失效
4.報表統計的模組,儘量採用定時任務執行,如果非得要實時進行重新整理,那麼可以採用快取來做資料。
5.可以使用靜態頁面的地方,使用靜態頁面,減少頁面解析時間,同時由於頁面中有許多圖片的這種,可以考慮一下把圖片做成一個伺服器,這樣可以減少業務伺服器的壓力。
6.使用叢集的方式來解決,單臺伺服器效能的問題。
7。把專案,拆分成為多個應用小型伺服器形式,來進行分散式部署。採用資料同步機制(可以使用資料庫同步形式來做)達到資料一致性。
8.使用負載均衡模式,來讓每一個伺服器資源進行合理的利用。
9.快取機制中,可以使用redis來做記憶體資料庫快取起來。也可以使用映象分擔,這樣可以讓兩臺伺服器進行訪問,提高伺服器的訪問量