1、在java中,高併發屬於一種程式設計術語,意思就是有很多使用者在訪問,導致系統資料不正確、糗事資料的現象。併發就是可以使用多個執行緒或程序,同時處理不同的操作。
2、處理高併發的方法
對於一些大型網站,比如入口網站,在面對大量使用者訪問、高併發請求方面,基本的解決方案集中在這樣幾個環節:使用高效能的伺服器、高效能的資料庫、高效率的程式語言、還有高效能的Web容器。
(1)動靜分離。靜態資源請求與動態請求分離,專案中需要訪問的圖片、聲音、js/css等靜態資源需要有獨立的存放位置,便於將來實現靜態請求分離時直接剝離出來,比如nginx可以直接配置圖片檔案直接訪問目錄,而不需要經過tomcat。這樣tomcat就可以專注處理動態請求,操作資料庫資料處理之類的。靜態請求代理伺服器效能比tomcat高很多。
(2)引入快取。資料庫快取、頁面快取,這東西好用不復雜,搞明白什麼地方適用最重要。簡單的例子是頻繁讀取,不修改的地方最適用。也是後續叢集做資料共享的一個方式之一,叢集環境下,經常會碰到資料共享問題。
(3)如果將來資料量大,單一資料庫成為瓶頸時,資料庫的讀寫分離來了。資料庫叢集,讀寫分離,分表分割槽。
1、在java中,高併發屬於一種程式設計術語,意思就是有很多使用者在訪問,導致系統資料不正確、糗事資料的現象。併發就是可以使用多個執行緒或程序,同時處理不同的操作。
2、處理高併發的方法
對於一些大型網站,比如入口網站,在面對大量使用者訪問、高併發請求方面,基本的解決方案集中在這樣幾個環節:使用高效能的伺服器、高效能的資料庫、高效率的程式語言、還有高效能的Web容器。
(1)動靜分離。靜態資源請求與動態請求分離,專案中需要訪問的圖片、聲音、js/css等靜態資源需要有獨立的存放位置,便於將來實現靜態請求分離時直接剝離出來,比如nginx可以直接配置圖片檔案直接訪問目錄,而不需要經過tomcat。這樣tomcat就可以專注處理動態請求,操作資料庫資料處理之類的。靜態請求代理伺服器效能比tomcat高很多。
(2)引入快取。資料庫快取、頁面快取,這東西好用不復雜,搞明白什麼地方適用最重要。簡單的例子是頻繁讀取,不修改的地方最適用。也是後續叢集做資料共享的一個方式之一,叢集環境下,經常會碰到資料共享問題。
(3)如果將來資料量大,單一資料庫成為瓶頸時,資料庫的讀寫分離來了。資料庫叢集,讀寫分離,分表分割槽。