前兩個架構要素基礎架構服務相依性和邏輯層主要定義架構的邏輯層面,即需要哪些元件以何種方式進行互動,才能給一般使用者提供服務。對任何已部署解決方案而言,是否具備滿足服務品質需求的能力也是另一個同等重要的要素。
解決方案架構的服務品質要素會特別強調 Java ES 服務品質元件所扮演的角色。
隨著網際網路和電子商務服務對業務營運的重要性日益增加,這些服務的效能、可用性、安全性、延展性與服務性已成為大規模、高效能部署架構在服務品質上的關鍵性需求。
若要設計出成功的軟體解決方案,您必須建立相關的服務品質需求,並且設計出能滿足這些需求的架構。可使用一些重要的服務品質來指定服務品質需求。下表概述了這些服務品質。
表 2–2 影響解決方案架構的服務品質
系統服務品質 |
描述 |
---|---|
衡量相對於使用者負載條件的回應時間和延時。 |
|
一種衡量一般使用者可存取系統資源與服務頻率的指標 (系統的正常執行時間)。 |
|
描述系統及其使用者的完整性之複雜因子組合。安全性包含系統的實體安全性、網路安全性、應用程式及資料安全性 (使用者的認證與授權) 以及資訊的安全傳輸。 |
|
隨時間推移在已部署系統中新增容量的能力。延展性通常牽涉在系統中新增資源,但不應要求對部署架構做出變更。 |
|
系統在不新增資源的情況下處理少見的尖峰負載用量的能力。 |
|
對已部署系統進行維護的易行度,維護包括系統監視、修復發生的問題及升級硬體與軟體元件等作業。 |
服務品質要素對解決方案部署架構會有極大的影響:如何在實體環境中部署應用程式元件及基礎架構元件。
各服務品質會影響部署架構且彼此關係密切。對某個系統品質的需求可能會影響對其他系統品質的設計。例如,較高層級的安全性可能會影響效能,而效能又會影響可用性。新增額外電腦透過備援解決所造成的可用性問題,可能會影響到維護成本 (服務性)。
瞭解各服務品質間的關聯方式及需要做何取捨,是能否設計出可同時滿足業務需求和業務限制之部署架構的關鍵所在。
數個 Java ES 元件的主要作用是增強系統服務元件或分散式應用程式元件提供的服務品質。這些軟體元件通常會與硬體元件 (如負載平衡器與防火牆) 搭配使用。
服務品質元件中介紹的 Java ES 服務品質元件歸納如下:
可用性元件。為部署的解決方案提供近乎不間斷的正常執行時間。
存取元件。提供對系統服務的安全網際網路存取,通常也提供路由功能。
監視元件。提供關於 Java ES 元件的即時資訊。
下表從架構觀點來列出最重要的 Java ES 服務品質元件,並列出這些元件影響最鉅的系統品質。
表 2–3 服務品質元件及所影響的系統品質
元件 |
影響的系統品質 |
---|---|
高可用性階段作業儲存區 |
可用性 |
Monitoring Console |
服務性 |
安全性 延展性 |
|
Sun Cluster |
可用性 延展性 |
Sun Cluster Geographic Edition |
可用性 延展性 |
Web Proxy Server |
安全性 效能 延展性 |
Sun Cluster 軟體為 Java ES 元件與延展性 Java ES 基礎架構支援的應用程式提供高可用性服務。叢集是一組鬆耦合的電腦,它統一提供對各種服務、系統資源與資料的單一用戶端檢視。叢集在內部使用備援電腦、互連、資料儲存區與網路介面,為以叢集為基礎的服務與資料提供高可用性。
Sun Cluster 軟體會持續地監視成員節點及其他叢集資源的運作狀態。發生故障時,Sun Cluster 軟體會為所監視的資源啟動容錯移轉,並使用內部備援實作對這些資源的近乎不間斷的存取。
Sun Cluster 資料服務套裝軟體 (有時稱為 Sun Cluster 代理程式) 可供所有 Java ES 系統服務元件使用。您也可以為自訂開發應用程式元件撰寫代理程式。
由於 Sun Cluster 軟體提供了控制能力,因此也能夠提供可延展服務。藉由運用叢集的全域檔案系統及叢集中的多重節點執行基礎架構或應用程式服務的能力,這些服務中增加的需求可以在多個同步運作的服務實例間達成平衡。經正確配置後,Sun Cluster 軟體便可為分散式企業應用程式提供高可用性與延展性。
由於支援 Sun Cluster 環境對備援的需要,在解決方案中包括 Sun Cluster 會大大增加實體環境中所需的電腦及網路連結數目。
與其他 Java ES 元件提供的服務不同的是,Sun Cluster 可用性服務是分散的對等式服務。因此,必須在叢集中的每部電腦上安裝 Sun Cluster 軟體。
Sun Cluster 軟體延伸由 Sun Cluster Geographic Edition 所提供,可防止應用程式發生意外中斷,所採用的方式是使用多個相互分隔的叢集,以及能夠在這些叢集之間複製資料的基礎架構。
僅 SolarisTM 作業系統 (Solaris OS) 可支援 Sun Cluster 和 Sun Cluster Geographic Edition。