系統中的故障場景建模
發表于:2012-09-06來源:InfoQ作者:Burag Cetinkaya點擊數:
標簽:測試環境搭建
在當今諸多企業解決方案中,集成系統數量日益增長,迫使我們以系統的方式處理依賴項和環境的故障。通過在架構階段對依賴項的故障進行建模,我們可以交流、測試并實現系統對故障的響應,以此減少業務的風險與成本。
在當今諸多企業解決方案中,集成系統數量日益增長,迫使我們以系統的方式處理依賴項和環境的故障。通過在架構階段對依賴項的故障進行建模,我們可以交流、
測試并實現系統對故障的響應,以此減少業務的風險與成本。
在本文中,我們將介紹系統故障建模。系統故障建模是一種用以幫助提前發現依賴項和環境故障,并在解決方案的架構早期采取主動措施的技術。
我們將使用四步的流程來創建故障模型,而每一步都將循序漸進的揭示創建故障模型的必要信息。在本文的最后,我們將探討不同的工具和模式對架構產生的效果,使得系統在面對不同故障模式時都可以設計和實現出我們需要的系統響應。
場景/服務 |
訂單執行服務 |
庫存服務 |
客戶數據庫 |
商品目錄 |
客戶評論服務 |
搜索商品 |
|
|
|
X |
|
閱讀客戶評論 |
|
|
|
|
X |
添加商品到購物車 |
|
X |
|
X |
|
結賬 |
X |
X |
X |
|
|
以下列舉的是每一步的概覽:
第一步:我們將從場景的層面發現解決方案中的功能性依賴并介紹依賴項的矩陣模型,該矩陣模型將在后續的步驟中用到。
第二步:我們將從集成系統的視角查看解決方案的執行環境,并定義服務品質協議(SLAs)。
第三步:在這一步中,我們將會識別出那些可被系統收集用于了解解決方案當前運行狀態的關鍵數據點。這些數據稍后將被用于識別出解決方案所在的故障場景。
第四步:我們將關注集成服務可能失敗的多種不同的方式。我們會建立解決方案故障模型并確定我們的解決方案應該在這些故障場景中以何種方式應對。
第一步. 理解功能性依賴
當我們開始在新的解決方案中啟動處理依賴性故障的計劃流程時,一個關鍵的問題是要理解該解決方案的功能劃分以及每個功能區對于第三方系統的依賴。對于架構師來說,理解這些根本的依賴關系是構架一個可以應付依賴項及環境故障的解決方案的前提。
我們使用的第一個模型是依賴項矩陣。該模型是系統依賴項矩陣,它概括并跟蹤了系統的各種依賴。在這個模型中,系統功能劃分(或場景)被拆解提取,并被關聯到他們所依賴的第三方系統。
下圖展示了系統依賴矩陣的示例。
場景/服務 |
訂單執行服務 |
庫存服務 |
客戶數據庫 |
商品目錄 |
客戶評論服務 |
搜索商品 |
|
|
|
X |
|
閱讀客戶評論 |
|
|
|
|
X |
添加商品到購物車 |
|
X |
|
X |
|
結賬 |
X |
X |
X |
|
|
系統依賴項矩陣幫助解決方案架構師理解各功能劃分分別依賴于哪些集成服務。本文始終會使用矩陣衡量計算響應時間、可用性、故障模型和系統對依賴項故障的響應。同樣,系統依賴項矩陣也是本文后續將談到的各模型的基礎。
原文轉自:http://www.anti-gravitydesign.com