其實要設計一個高可用、高負載的系統(tǒng)還是有一定的規(guī)矩可循的,其手段無外乎向上擴展(Sacle Up 硬件擴展)或者向外擴展(Scale Out 軟件擴展),這兩種方案在某一階段時期,會顯著改善網(wǎng)站的性能,但不久之后,問題依舊。本文參考網(wǎng)上相關(guān)資料,試圖提供一個可行的 "有限" 解決方案。
早期
1. 對業(yè)務應用進行垂直分割,將不同的業(yè)務邊界劃分出來。程序員常說的 "多層體系" 只是縱向解決了不同編程層次的劃分,相對于業(yè)務而言,并沒有做出什么處理?,F(xiàn)在 SOA 大行其道,除了人們認識到面向服務帶來的互聯(lián)、擴展性以外,它也將不同服務的變化區(qū)分開來,各自擁有獨立的實現(xiàn)和存儲機制。每個服務使用不同的數(shù)據(jù)庫或數(shù)據(jù)表,從一定程度上減輕了以往單個數(shù)據(jù)庫頻繁造成的 "鎖" 和 I/O 瓶頸問題。