效能和可靠性模式
本頁內容
滿足執行要求
模式概述
效能和可靠性模式
效能、可伸縮性和可靠性是所有企業應用程式的重要特性。儘管可通過多種方法來改善效能和可靠性,但是此模式群集強調如何將為任意數量的應用程式或使用者提供服
務的系統組合起來,以獲得更好的可伸縮性和可用性。本章中的模式為有效地適應負載和高峰通訊量的變化以及改善可用性奠定了基礎。
當今的企業應用程式必須滿足不斷增加的執行要求(包括提高可用性、改善效能以及能夠在應用程式負載增加時滿足這些要求)。這就要求應用程式和支援性基礎結構的設計能夠最大程度地實現可伸縮性和可用性。
可伸縮性
可伸縮性是指乙個或多個系統在保持可接受的效能級別的同時能夠處理不斷增加的需求。為了有效地擴充套件某個系統,必須確定日益增加的需求的本質,並了解它對各個系統元件的影響。在確定限制性元件之後,可以向上擴充套件或向外擴充套件。
向上擴充套件
向上擴充套件策略是在單個伺服器中提高資源(如處理器、記憶體或儲存器)處理負載的能力。例如,可以通過增加處理器或記憶體的數量來向上擴充套件在多處理器作業系統之上建立的資料庫群集。
向外擴充套件
向外擴充套件策略是通過增加伺服器(從而增加這些伺服器的整體容量)來增加基礎結構級處理負載的能力。
可用性可
用性是指伺服器、執行於伺服器上的軟體或應用程式的可測量執行時間,它依靠仔細的設計和執行原則,包括更改控制、嚴格測試以及快速公升級和後備機制)。為了
實現最高端別的可用性,一定要在設計中找出所有故障單點。高可用的設計過程應該分析體系結構中的每個元件,以驗證系統的整體效能不依賴於任何乙個執行特定
功能或提供對某塊特定資訊的訪問的單一硬體或軟體。
返回頁首
該模式群集從server clustering
(伺服器群集)開始,它強調使用伺服器群集來設計基礎結構級以滿足特定的可用性和可伸縮性要求。伺服器群集是通過互連以形成統一虛擬計算資源的兩台或更多台伺服器。
伺服器群集通過以下方式提高了系統的可用性:確保在乙個伺服器因故障或計畫的關機而變得不可用時,群集中的另乙個伺服器可以負擔工作負載,從而確保應用程式
縮性的同時還可以增加伺服器的冗餘,從而有助於提高系統可用性,如上所述。
server clustering
模式強調群集是通用性設計技術,該技術將應用於另外兩種設計模式:load-balanced cluster
(負載平衡群集)和failover cluster
(故障轉移群集)。圖 1 顯示了效能和可靠性模式群集。
圖 1 效能和可靠性模式群集
load-balanced cluster
load-balanced cluster
模式解決如何通過設計和實現可伸縮的基礎結構級來維護可接受的效能。此模式描述實現以下功能的常用方法:通過一組唯讀或應用程式伺服器或這些伺服器場來平衡傳入的 internet 協議 (ip) 通訊量。
負載平衡功能將請求分布到伺服器場(請參閱「server farm」)中的所有正常工作的伺服器上,從而增強了包含 web
伺服器、流**伺服器和虛擬專用網 (vpn)
伺服器等伺服器的基礎結構級的效能、可用性和可伸縮性。當負載平衡群集中的某台伺服器失敗時,負載平衡伺服器還通過將負載重新分布到其餘伺服器上來提供故
障轉移功能。
failover cluster
failover cluster
模式有助於設計高可用的應用程式基礎結構級,以防在單台伺服器出現故障或者以它為宿主的軟體出現故障時喪失服務。此模式描述故障轉移群集以及它們如何為讀/寫儲存(如資料庫、訊息傳遞系統以及檔案和列印服務)提供高可用性。
在故障轉移群集中,如果某台伺服器變得不可用,另一台伺服器會接管其任務並繼續為終端使用者提供服務,該過程被稱為故障轉移。進行故障轉移時,使用者可以繼續使用應用程式,並且不會意識到是另一台伺服器在提供服務。
返回頁首
表 1 列出了效能和可靠性模式群集中的模式。這些模式的排列方式為較晚的模式構建在較早的模式之上。這意味著發展方向是從更一般的模式(如 server clustering)發展到更具體的模式(如 failover cluster)。
表 1:效能和可靠性模式模式
問題
server clustering
如何為應用程式提供基礎結構以滿足特定的執行要求(如可用性和可伸縮性)?
load-balanced cluster
應該如何設計可伸縮的基礎結構級才能在維持可接受的效能級別的同時適應負載變化?
failover cluster
應該如何設計高可用的基礎結構級才能防止在單台伺服器出現故障或以它為宿主的軟體出現故障時喪失服務?
模式之效能和可靠性 二 故障轉移群集
故障轉移群集 將應用程式或服務安裝在配置為發生故障時彼此接管對方工作的多台伺服器上。一台伺服器接管發生故障的伺服器的過程通常稱為 故障轉移 故障轉移群集是一組這樣配置的伺服器 如果一台伺服器變為不可用,則另一台伺服器自動接管發生故障的伺服器並繼續處理任務。群集中的每台伺服器將群集中至少一台其他伺服器...
可靠性測試學習 可靠性測試理解
最近測試可靠性,參考了業界的一些思維,有些想法和建議 先說說軟體可靠性的定義,根據我測試的體會和思考,我覺得軟體的可靠性就是軟體系統發生故障後自動恢復或者人工干預使其能恢復到正常狀態的能力 業界的測試有些把容錯測試和可靠性測試搞混淆,其實兩者不一樣,容錯測試是通過模擬一些可能發生的已知的異常操作而檢...
產品可靠性
產品可靠性 影響產品可靠性的三個方面 1.電應力 2.機械應力 3.環境應力。下面從上述三個方面展開講述。應力 專案 內容 備註電應力 物料 1.pcb 商 2.pcb抽檢 3.元器件選型 元器件選型指導書 4.採購渠道 商資質a b c類 5.儲存 msl 6.領料 原理設計 1.電路方案 2.電...