Sun Cluster 簡介 (適用於 Solaris 作業系統)

可延伸的資料服務

叢集網路的主要目標是為資料服務提供可延伸性。可延伸性意味著,當服務的負載增加時,資料服務可以在一定時間內回應此增加的工作負荷量,以使新的節點可以加入叢集並且新的伺服器實例可以執行。可延伸資料服務的典型範例是網際網路服務。通常,可延伸資料服務是由許多實例所組成,每一個實例執行於叢集的不同節點上。這些實例一起對於該服務的遠端用戶端來說為單一服務,並實現該服務的功能。在不同節點上執行多個 httpd 常駐程式的可延伸 Web 服務,可以讓任何常駐程式處理用戶端要求。服務此項要求的常駐程式依賴平衡資料流量策略。對用戶端的回覆看上去是來自服務,而不是服務該要求的特定常駐程式,因此保留了單一服務的外觀。

下圖說明了可延伸服務的架構。

圖 3–3 可延伸資料服務的架構

圖例:在多個節點上執行的資料服務。

沒有放置整體介面的節點 (代理節點) 將共用位址放在其回送介面上。進入全域介面的資料封包會根據可配置平衡資料流量策略分配至其他叢集節點。可能的平衡資料流量策略說明如後。

平衡資料流量策略

平衡資料流量可以在回應時間及產量上增進可延伸服務的效能。

可延伸資料服務的類別有兩種:PureSticky。Pure 服務是任何實例均可回應用戶端要求的服務。Sticky 服務使叢集可以平衡節點要求的資料流量。那些要求不會重新導向至其他實例。

Pure 服務使用加權平衡資料流量策略。在此平衡資料流量策略下,依預設用戶端要求會平均地分配給叢集中的伺服器實例。例如,在每個節點權重均為 1 的三節點叢集中,每個節點代表該服務分別為來自任何用戶端的要求提供三分之一的服務。透過 scrgadm(1M) 指令介面或 SunPlex Manager GUI 可隨時變更權重。

Sticky 服務有兩種類型:Ordinary StickyWildcard Sticky。Sticky 服務允許在多個 TCP 連接上並行處理應用程式層次階段作業,以共用 in-state 記憶體 (應用程式階段作業狀態)。

Ordinary Sticky 服務允許用戶端共用多個並行 TCP 連接之間的狀態。用戶端被稱為「sticky」是因為該伺服器實例偵聽單一埠。只要該實例維持啟動與可存取的狀態,且當此服務處於線上狀態時,平衡資料流量策略未曾改變,即可保證用戶端的所有要求均會到達相同的伺服器實例。

Wildcard Sticky 服務使用動態指定的通訊埠編號,但是仍然希望用戶端要求會到達相同的節點。用戶端在同一 IP 位址的埠上呈現「Sticky Wildcard」。