系統架構師知識:高可用系統設計
高可用系統設計,常見於大中型互聯繫統架構設計。下面為大家整理了一些關於高可用系統設計的知識,一起來了解一下!
1、系統可用性
系統可用性定義:MTTF/(MTTF+MTTR) * 100%
MTTF: mean time to failure,平均失效前時間,也就是正常運行的時間
MTTR: mean time to restoration, 平均恢復前時間,也就是故障時間
系統高可用性(High Availability)通常來描述一個IT系統經過專門的設計,減少計劃和非計劃停工時間,保持其服務的高度持續可用性。
影響系統可用性的因素很多,包括硬件、軟件、網絡和環境(比如機房温度)等,除了常見的CPU、內存、IO、網絡、鎖等因素,還需要考慮各種支持設備和系統、非技術的因素,總之,系統可用性是一個綜合因素影響的結果。
2、高可用的模式
系統高可用性的常用設計模式包括三種,包括:
(1)、主備(Active-Standby)
工作原理:主機工作,備機處於監控準備狀況;當主機宕機時,備機接管主機的一切工作,待主機恢復正常後,按使用者的設定以自動(熱備)或手動(冷備)方式將服務切換到主機上運行。一般需要人工干預才能回覆初始狀態。
(2)、互備(Active-Active)
工作原理:兩台主機(A標記為主,B標記為備)同時運行各自的服務工作且相互監測情況,當任一台主機(A)宕機時,另一台主機(B,啟用並標記為主)立即接管它的一切工作,保證工作實時可用
(3)、集羣(Cluster)
工作原理:多台具有相同能力的服務同時對外提供透明服務,所有服務之間都是Active-Active關係,並分擔處理服務請求,一般通過總控節點或集羣軟件(例如zookeeper等)進行高可用的控制。
3、高可用的設計
高可用的設計沒有完美的標準答案。但是根據工程經驗,我們可以總結出高可用設計的一個重要指標:
不要有單點。
不要有單點。
不要有單點。
如果是在設計開發實現和維護大中型web系統,通常我們會從互聯繫統中最容易出現問題,同時也最不容易橫向擴展的.節點下手(包括網絡和存儲系統),排查並解除系統中的薄弱環節,爭取保證整個系統中絕不出現單點這一死角,或者出現單點,但也可以通過成熟的優化手段(緩存、隊列、sharding、負載均衡和異地容災等)實現高可用。
你可能還是會有疑問:是不是系統中沒有單點了保證高可用了就一定不出事情了呢?
答案是,還是可能會出事,而且可能都是大事。今年的黑色五月份的幾起重大IT事故,無情地告訴我們,再高明的設計,碰到物理破壞或者權限控制不當而誤操作或者DDoS都有可能讓開發和設計人員的所有心血付之東流。
-
如何搭建系統CSS架構
css是英文CascadingStyleSheets的縮寫。它是一種用來表現HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等文件樣式的計算機語言。那麼如何搭建系統CSS架構呢,一起來學習學習!搭建CSS法則在項目開始的時候,我們談論了開發者關於他們的流程...
-
架構師的成長之路
從程序員、高級程序員,再到架構師,這是所有架構師的必經之路,下面為大家分享一位架構師的成長之路,希望對大家有所幫助!如何更高效地學習?很多新人程序員一開始在學習上找不到方向,但我想在渡過了一段時間的新手期之後這類問題大多都會變得不再那麼明顯,工作的方向也...
-
SAP系統架構是什麼
SAP是英文Systems,ApplicationsandProductsinDataProcessing的縮寫,其開發公司SAP公司是目前全球應用最廣的企業管理和協同化商務解決方案供應商。下面讓我們一起來看看什麼是SAP系統架構。1SAP系統的三層架構SAP是一個基於客户/服務機結構和開放系統的、集成...
-
基於B/S架構的電子政務模擬系統設計
當今信息社會,電子政務服務平台已成為聯繫政府與公眾間的一個重要窗口。下面yjbys小編為大家準備了關於電子政務模擬系統設計的文章,歡迎閲讀。一、電子政務模擬系統建設的必要性2007年開始,教育部正式啟動了高等學校本科生教學質量與教學改革工程。7月10日,教育部...