質量屬性 可用性戰術

2022-02-13 01:44:38 字數 1751 閱讀 8368

戰術就是影響質量屬性響應控制的設計決策,共包括六種戰術:

可用性戰術

可修改性戰術

效能戰術

安全性戰術

可測試性戰術

易用性戰術

戰術的集合稱為「構架設計策略」

可用性與系統故障及其後果相關。

當系統不再提供其規範中所說的服務時,就出現了系統故障。

系統使用者可以觀察到此類故障。

可用性是指系統正常執行時間的比例,是通過兩次故障之間的時間長度或在系統崩潰情況下能夠恢復正常執行的速度來衡量的。可用性戰術將會阻止錯誤發展為故障,或者至少能夠把錯誤的影響限制在一定範圍內,從而使系統恢復成為可能。

衡量系統的可用性可以用公式 mtbf/(mtbf+mttr),其中mtbf為系統出錯的時間間隔也就是平均正常工作時間,而mttr表示系統修復錯誤用的時間。當然上面的公式計算出的結果越大表示系統的可用性越好

可用性關注的問題

如何檢測故障

發生故障的頻度

出現故障時的現象

系統故障排除的時限

如何防止故障的發生

發生故障時的處理

維持可用性的方法包括:

錯誤檢測——用來檢測故障的某種型別的健康監視;

自動恢復——檢測到故障時某種型別的恢復;

錯誤預防——阻止錯誤演變為故障。

訊號響應

void sigdemo(int

sig)

intmain()

printf(

"main started.\n");

pause();

//wait a signal.

}

心跳傳送方按照一定規則(週期性傳送、空閒傳送等等)向接收方傳送固定格式的訊息,接受方收到訊息後回覆乙個固定格式的訊息,如果長時間沒有收到,比如心跳週期的3倍,則認為當前連線失效,將其斷開。

注:傳送方可以是客戶端或者服務端,根據實際情況而定,常見是客戶端作為傳送方。

//

心跳檢測

var heartcheck =, _this.severtimeout);

}, this

.timeout)}}

在進行軟體專案開發時,使用try catch進行異常的捕捉丟擲,降低檢查錯誤的時間

try

catch

(classnotfoundexception e)

表決執行在冗餘處理器上的每個程序都具有相等的輸入,它們計算的值都發給表決者,表決者發現異常則終止程序。

主動冗餘所有冗餘元件並行對事件做出響應恢復時間為幾毫秒  被動冗餘主件通知備件響應恢復時間為幾秒內     

為什麼主動冗餘更快,還要存在被動冗餘呢?

shadow 類似於影子系統

檢查點回滾 在win10系統中可以建立乙個檢查點,出現故障時可以恢復

在進行資訊爬取的過程中,是程式進行短時間休眠,減少**壓力,防止被限制,從而出現故障

import time

time.sleep(

5) # sleep 5 秒

可用性可修改性戰術分析

通過閱讀 大型 技術架構 核心原理與案例分析 的第 五 六 七章,對 的可用性和修改性戰術有了進一步的理解,接下來就來談談我的認識。的可用性描述 可有效訪問的特性。相比於 的其他非功能特性,的可用性更牽動著人們的神經,大型 的不可用事故直接影響公司形象和利益,許多網際網路公司都將 可用性列入了工程師...

可用性和可修改性戰術

的可用性描述 可有效訪問的特性。相比於 的其他非功能特性,的可用性更牽動著人們的神經,大型 的不可用事故直接影響公司形象和利益,許多網際網路公司都將 可用性列入了工程師的績效考核,與獎金公升遷等利益掛鉤。不可用也被稱作 故障,業界通常用多少個9來衡量 的可用性,如qq的可用性是4個9,即qq服務99...

可用性和可修改性戰術分析

可用性和可修改性戰術 分析 的可用性描述 可有效性訪問的特性。有好多時候不能訪問,比如,dns會被劫持,cdn服務可能會掛掉,伺服器可能會失靈,程式會有 bug,黑客會攻擊,會引來大量訪問,第三方合作夥伴的服務會不可用 所以,要保證乙個 永遠完全可用幾乎是不可能完成的任務。的高可用性,要求萬無一失,...