一、假定失效的設計(Design for Failure)
1、假定任何環節都有可能出問題,然後倒推依次設計
2、避免單點故障(single point of failure)
3、目标:應用能夠連續工作,服務一直可用
4、典型實踐,充分考慮到多可用區AZ(availability zone)
二、松耦合的設計(Decoupled)
1、從架構層面降低功能子產品的耦合程度
2、充分考慮到服務子產品接口的設計,以及異步模式
3、目标:縮小單個故障的失效域,提高擴充性和容錯能力
4、典型實踐:面向服務的子產品設計,通過消息隊列解耦業務子產品
三、彈性(Elasticity)
1、資源按需擷取,按需擴充和收縮
2、平行拓展提高系統容量和容錯能力
3、目标:提高業務的承載能力和平台資源的靈活性
4、典型實踐:無狀态設計實作自動平衡擴充,雲服務的按需提醒
四、并行(Parallel)
1、分布式架構首先并行處理
2、充分利用雲服務本身的并行能力
3、目标:提高平台處理容量、縮短處理事件
4、典型實踐:使用平台服務的最大化并行,調整軟體支援并行架構
五、安全(Security)
1、保障關鍵資料在傳輸和存儲時不被洩露