其實架構效能優化的核心就是分,分為分離、分層、分佈。
分離
動靜分離
靜態資源、動態頁面的分離
比如,一個頁面有很多靜態圖片,靜態的圖片、動態資料、靜態CSS、js,圖片一般用cdn,但靜態資源在使用域名的時候,儘可能使用多個靜態域名,因為瀏覽器一般有限制,會限制同一個域名下的並行請求樹,比如一共4張圖片,這兩張用一個域名,另外兩張圖片用另外一個域名,加快載入速度
讀寫分離
Mysql主從
Nosql主從
業務分離
資料分庫
儘可能把同一個相關的業務放在一個庫裡,但是在聯合查詢可能會出現問題,這方面需要詳細考慮
叢集分離
比如郵件使用一臺伺服器,附件上傳使用一臺伺服器....
服務化
分層
硬體部署分層
比如從前端進來,有Nginx,然後是web伺服器,然後是快取伺服器,然後資料庫伺服器,負載均衡
業務程式碼分層
比如mvc
資料分層
比如多級快取,一個請求的多層快取,本地快取、redis、資料庫等
cdn
分佈
分散式資料庫
分散式快取
分散式儲存
分散式計算
可以理解為運算,比如gearman