第7章 性能和可靠性模式

性能、可伸縮性和可靠性是所有企業應用程序的重要特性。儘管可通過多種方法來改善性能和 可靠性,但是此模式羣集強調如何將爲任意數量的應用程序或用戶提供服務的系統組合起來,以獲得更好的可伸縮性和可用性。本章中的模式爲有效地適應負載和高 峯通信量的變化以及改善可用性奠定了基礎。

滿足運行要求

當今的企業應用程序必須滿足不斷增加的運行要求(包括提高可用性、改善性能以及能夠在應用程序負載增加時滿足這些要求)。這就要求應用程序和支持性基礎結構的設計能夠最大程度地實現可伸縮性和可用性。

可伸縮性

可伸縮性是指一個或多個系統在保持可接受的性能級別的同時能夠處理不斷增加的需求。爲了有效地擴展某個系統,必須確定日益增加的需求的本質,並瞭解它對各個系統組件的影響。在確定限制性組件之後,可以向上擴展或向外擴展。

向上擴展

向上擴展策略是在單個服務器中提高資源(如處理器、內存或存儲器)處理負載的能力。例如,可以通過增加處理器或內存的數量來向上擴展在多處理器操作系統之上建立的數據庫羣集。

向外擴展

向外擴展策略是通過增加服務器(從而增加這些服務器的整體容量)來增加基礎結構級處理負載的能力。

可用性

可用性是指服務器、運行於服務器上的軟件或應用程序的可測量運行時間,它依靠仔細的設計和運行原則,包括更改控制、嚴格測試以及快速升級和後備機 制)。爲了 實現最高級別的可用性,一定要在設計中找出所有故障單點。高可用的設計過程應該分析體系結構中的每個組件,以驗證系統的整體性能不依賴於任何一個執行特定 功能或提供對某塊特定信息的訪問的單一硬件或軟件。

模式概述

該模式羣集從Server Clustering(服務器羣集)開始,它強調使用服務器羣集來設計基礎結構級以滿足特定的可用性和可伸縮性要求。服務器羣集是通過互連以形成統一虛擬計算資源的兩臺或更多臺服務器。

服務器羣集通過以下方式提高了系統的可用性:確保在一個服務器因故障或計劃的關機而變得不可用時,羣集中的另一個服務器可以負擔工作負載,從而確保 應用程序 仍對用戶可用。羣集還通過以下方式來增強可伸縮性:在維持當前性能級別的同時支持更多的用戶,或者改善當前用戶的應用程序性能。通過服務器羣集來增強可伸 縮性的同時還可以增加服務器的冗餘,從而有助於提高系統可用性,如上所述。

Server Clustering 模式強調羣集是通用性設計技術,該技術將應用於另外兩種設計模式:Load-Balanced Cluster (負載平衡羣集)和Failover Cluster(故障轉移羣集)。圖 1 顯示了性能和可靠性模式羣集。

圖 1 性能和可靠性模式羣集

Load-Balanced Cluster

Load-Balanced Cluster 模式解決如何通過設計和實現可伸縮的基礎結構級來維護可接受的性能。此模式描述實現以下功能的常用方法:通過一組只讀或應用程序服務器或這些服務器場來平衡傳入的 Internet 協議 (IP) 通信量。

負載平衡功能將請求分佈到服務器場(請參閱“Server Farm”)中的所有正常工作的服務器上,從而增強了包含 Web 服務器、流媒體服務器和虛擬專用網 (***) 服務器等服務器的基礎結構級的性能、可用性和可伸縮性。當負載平衡羣集中的某臺服務器失敗時,負載平衡服務器還通過將負載重新分佈到其餘服務器上來提供故 障轉移功能。

Failover Cluster

Failover Cluster 模式有助於設計高可用的應用程序基礎結構級,以防在單臺服務器出現故障或者以它爲宿主的軟件出現故障時喪失服務。此模式描述故障轉移羣集以及它們如何爲讀/寫存儲(如數據庫、消息傳遞系統以及文件和打印服務)提供高可用性。

在故障轉移羣集中,如果某臺服務器變得不可用,另一臺服務器會接管其任務並繼續爲最終用戶提供服務,該過程被稱爲故障轉移。進行故障轉移時,用戶可以繼續使用應用程序,並且不會意識到是另一臺服務器在提供服務。

性能和可靠性模式

表 1 列出了性能和可靠性模式羣集中的模式。這些模式的排列方式爲較晚的模式構建在較早的模式之上。這意味着發展方向是從更一般的模式(如 Server Clustering)發展到更具體的模式(如 Failover Cluster)。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章