從一個問題來映射出架構的優化。問題是:大數據併發執行,你的服務器,網頁都須要怎麼設計?css
1.服務端使用數據緩存框架,如Memcache,Redis等。html
考慮緩存數據的建立及更新時機。平時工做中的一種方法:對於須要緩存的表,增長updateTime字段,若是字段爲空或者更新,則出發緩存數據的更新操做。這個動做能夠用一個定時器來跑。ajax
2.能夠根據實際需求使用集羣。數據庫
3.數據庫優化。好比:拆庫,下降庫的數據量;對於大表進行拆表;利用ORM緩存技術,減小對數據庫的訪問次數;對於須要一次性處理大批量數據,而且有必定邏輯的,能夠採用存儲過程;讀寫分離,寫入主庫,查在從庫,作好主從備份等。。。。瀏覽器
4.將靜態資源放到專門服務器,客戶端瀏覽器利用http 304緩存js、css、圖片等靜態資源。緩存
5.緩存頁面,若是數據不常常變更,可生成靜態html頁面。對於常常變換數據的,能夠利用ajax來增長用戶友好體驗。服務器
6.採用第三方網絡加速,如CDN等。網絡
7.代碼層面的優化,如數據庫鏈接提早釋放(把數據一次性取出後,在進行邏輯處理);批量操做等。架構
8.反向代理等技術併發
。。。。。
還有不少不少,而且上面的分類也是本身想到哪裏寫到哪裏,因而可知本人也在網優的路上邊學習邊研究。
網站架構的整個演變主要圍繞大數據和高併發而展開。解決的方案主要是使用緩存和多資源兩種類型。多資源:多存儲,多CPU,多網絡。能夠單個資源處理一個請求,也能夠多個。