一. 化簡方程
1.1 原則1:不要過(guò)度設計
1.2 原則2:設計時(shí)就(jiù)考慮擴展性(D-I-D方法)
1.2.1 設計
1.2.2 實現
1.2.3 部署
1.3 原則3:把方案一簡再簡
1.3.1 如何簡化範圍
1.3.2 如何簡化設計
1.3.3 如何簡化實施
1.4 原則4:減少DNS查找
1.5 原則5:盡可能(néng)減少對(du劇姐ì)象
1.6 原則6:使用同一品牌的網絡設備
1.7 小結
參考資料
二. 分布工作
2.1 原則7:橫向(xiàng)複制(X軸原則)
2.2 原則8:拆分不同的東西(Y軸原則)
2.3 原則9:拆分相近的東西(Z軸原則)
2.4 小結
參考資料
三. 橫向(xiàng)擴展設計
3.1 原則10:設計橫向(xiàng)擴展方案 麗都;
3.2 原則11:采用經(jīng)濟型系統 老房
3.3 原則12:橫向(xiàng)擴展數據中心&nbs亮如p;
3.4 原則13:利用雲技術進(jìn)行設計
3.5 小結
參考資料
四. 使用正确的工具
4.1 原則14:合理使用數據庫
4.2 原則15:防火牆,到處都(dōu)是防火牆
4.3 原則16:積極利用日志文件
4.4 小結
參考資料
五. 不要重複工作
5.1 原則17:不要立即檢查剛做過(guò)的工作&nbs高大p;
5.2 原則18:停止重定向(xiàng)
5.3 原則19:放松時(shí)序約束
5.4 小結
參考資料
六. 積極利用緩存
6.1 原則20:利用CDN
6.2 原則21:使用過(guò)期頭
6.3 原則22:緩存Ajax調用
6.4 原則23:利用頁面(miàn)緩存
6.5 原則24:利用應用緩存
6.6 原則25:利用對(duì)象緩存
6.7 原則26:把對(duì)象緩存放在自己的“層”上
6.8 小結
參考資料
七. 從錯誤中吸取教訓
7.1 原則27:積極地學(xué)習
7.2 原則28:不要依靠QA發(fā)現失誤
7.3 原則29:沒(méi)有回退功能(néng)的設計是失敗的設鄉用計
7.4 原則30:讨論失敗并從中吸取教訓
7.5 小結
參考資料
八. 數據庫原則
8.1 原則31:注意代價高的關系
8.2 原則32:使用類型正确的數據庫鎖 舞山
8.3 原則33:不要使用多階段提交
8.4 原則34:不要使用SELECT FOR UPDATE
8.5 原則35:不要選擇所有數據
8.6 小結
參考資料
九. 容錯設計與故障控制
9.1 原則36:采用隔離故障的“泳道(dào)”&家廠nbsp;
9.2 原則37:絕對(duì)不要信任單點故障
9.3 原則38:避免系統串聯
9.4 原則39:确保能(néng)夠啓用/禁用功能(néng)
9.5 小結
十. 避免或分發(fā)狀态
10.1 原則40:努力實現無狀态
10.2 原則41:盡可能(néng)在浏覽器端維護會(huì)話
10.3 原則42:利用分布式緩存存放狀态
10.4 小結
參考資料
十一. 異步通信和消息總線
11.1 原則43:盡可能(néng)使用異步通信
11.2 原則44:确保消息總線能(néng)夠擴展
11.3 原則45:避免讓消息總線過(guò)度擁擠
11.4 小結
十二. 其他原則
12.1 原則46:慎用第三方解決方案擴展
12.2 原則47:清除、歸檔和成(chéng)本合理的存儲
12.3 原則48:删除事(shì)務處理中的商業智能(néng)&nb吧朋sp;
12.4 原則49:設計能(néng)夠監控的應用
12.5 原則:要能(néng)勝任
12.6 小結
參考資料
十三. 原則回顧和優先級劃分
13.1 評估擴展項目和主動權的風險-收益模型
13.2 擴展原則的收益/優先級等級
13.3 小結