專註分享Linux後臺服務器開發,包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒體,CDN,P2P,K8S,Docker,TCP/IP,協程,DPDK等等


健壯性:

健壯性具體指的是系統在不正常的輸入或不正常的外部環境下仍能表現出正常的程度.

面向健壯性的編程有以下幾點要求或優點:

處理未期望的行為和錯誤終止

即使終止執行,也要準確/無歧義的向用戶展示全面的錯誤信息

錯誤信息有助於進行debug

健壯性原則:

總是假定用戶為惡意用戶,假定自己的代碼會失敗

把用戶想象成一個silly b,可能輸出任何東西

註意,因為用戶很silly,最好要返回給用戶錯誤提示信息,而且要詳細準確無歧義!(其實這對debug非常有幫助,尤其是像我這樣喜歡用syso找蟲子的白癡CodeDog)

對自己的代碼要保守,對用戶的行為要開放

面向健壯性編程的原則:

封閉實現細節,限定用戶的惡意行為

考慮各種各樣的極端情況,沒有impossible

高可靠性:

高可靠性(high reliability)指的是運行時間能夠滿足預計時間的一個系統或組件。

在信息技術領域,高可靠性(high reliability)指的是運行時間能夠滿足預計時間的一個系統或組件。可靠性可以用“100%可操作性”或者“從未失敗”這兩種標準來表示。一個被廣泛應用但卻難以達到的標準是著名的“5個9標準”,就是說工作的可靠性要達到99.999%。

由於一個計算機系統或網絡由許多部件組成,而且這些部件都要保證高可靠性才能維持正常的操作過程。因此,許多可靠性計劃側重於備份、故障處理、數據存儲以及訪問方面。對存儲而言,一個普遍采用的方法是冗餘磁盤陣列,最近采用存儲局域網。

一些可靠性專傢強調,為保證高可靠性,系統的任何部件都要進行仔細的規劃設計,並在投入運行前進行徹底的檢查測試工作。比如說,一個未經徹底測試的新的應用程序在運行過程中很可能出現頻繁的中斷。


關註我,每天分享Linux後臺服務器開發,包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒體,CDN,P2P,K8S,Docker,TCP/IP,協程,DPDK等