一,可(異地)部署和就近路由接入,破除單點故障;
(可分布,可調度的原則)
二,資料上報和監控平台;
(使用者行為資料,系統效能監控資料,系統異常和業務相關資料等的上報)
三,資料分級儲存原則:單記憶體cache儲存,記憶體cache+非同步更新,記憶體cache+同步更新;
(從三個緯度分析使用者行為模型,決定相關資料的儲存策略:1,能忍受使用者資料的丟失嗎?2,能忍受資料的非及時性嗎?
3,資料的讀寫比例分布如何?)
四,動靜分離原則;
(能靜態化盡量靜態化,在代碼和進程部署上,在DNS層上做好動靜分離的系統設計準備)
五,輕重分離原則;
(保持接入和業務處理的分離,接入盡量輕量化,使得系統具有很好的輸送量,處理盡量非同步化,使得可以平滑擴充)
六,破除服務依賴原則:同一IDC的其他服務對系統的影響,第三方調用系統介面的隔離和過載保護,依賴第三方服務的
監控和安全保護原則等。
七,柔性可用原則;
(處理好異常情況下的灰階體驗,區分好關鍵處理路徑和非關鍵路徑,而系統設計要盡量把關鍵路徑轉換成非關鍵路徑)
八,能非同步盡量非同步原則;
(通過記憶體管道,操作流水等技術進行拼接各個處理模組)
九,灰階原則;
(灰階發布策略是根據使用者號碼段,使用者ip段,還是使用者vip等級,使用者所在城市等進行灰階升級,保證系統的平滑迭代)
十,異常的快速響應和一鍵切換原則;
(IDC斷電?系統切換到正常的成本是多少?時間呢?需要幾個人操作?牛的系統可以一個人在管理後台按一個按鈕就可以切換,再按一下就可以切換回來)
十一,有損服務原則;
(用低成本提供海量的服務原則)
十二,一切簡單化處理的原則,真真假假,假假真真!
(方案的簡單化,允許的誤差評估等)
(新增加下面原則 -tenfyguo 20100118)
十三,充分利用DNS層做好系統的可分布設計。
十四,區分系統行為和使用者行為並分別進行設計,甚至在關鍵時刻可以進行轉換。
十五,堅持app_server設計的無狀態設計原則,轉變使用者行為為系統行為,使得app_server具有無狀態的特點。
十六,負載平衡原則和平滑擴容。
十七,多級cache設計以及各個cache的路由設計。
(tenfyguo-20100120補充)
十八,“大系統小做”原則。
十九,面向介面編程,面向服務編程設計原則,解耦業務模組的依賴關係。
二十,強事務模型到最終一致性事務模型的轉換原則。
------待補充....
tenfyguo