共用方式為


規劃步驟 3:規劃 IIS Web 服務器陣列負載平衡

作者 :Keith Newman 和 Robert McMurray

在規劃包含 IIS 伺服器之 Web 伺服陣列的這個階段中,您將了解負載平衡。 您也會了解如何使用「應用程式要求路由」(ARR) 來設定負載平衡。 ARR 是一個適用於 IIS 的 Proxy 型要求路由和負載平衡模組。

當您完成這些工作時,請先記錄您的設計決策,再繼續進行 步驟 4:規劃 SSL 中央憑證存放區

3.1. 使用 ARR 來規劃負載平衡

負載平衡是一種將工作負載分散到多個網頁伺服器的方法。 目的是要達到最佳資源利用率、讓要求輸送量達到最大、讓回應時間縮至最短,以及避免伺服器超載。

負載平衡器會使用各種演算法來完成這項工作。 其中一個最簡單的演算法是循環配置資源,這個演算法會將每個新要求傳送到不同的網頁伺服器,以嘗試讓所有伺服器的負載相等。 其他演算法會將特定類型的要求傳送給特定伺服器,以嘗試縮短回應時間。

應用程式要求路由 (ARR) 是一個 Proxy 型路由模組,這個模組會使用 HTTP 標頭、伺服器變數及負載平衡演算法來決定如何將要求轉送到內容伺服器。 ARR 會利用 URL Rewrite 模組來檢查連入要求。

ARR 的其中一個主要功能叫做「主機名稱親和性」。 主機名稱親和性會建立要求與指定的伺服器 (或一組伺服器) 之間的親和性 (親密關係)。 這可確保指定的站台只會根據定義的伺服器數目使用伺服器上的資源。

請準備您伺服陣列中所有伺服器的 IP 位址清單。 您將需要使用這個清單來設定 ARR 負載平衡。

3.2. 調查 ARR 的其他功能

除了負載平衡之外,ARR 還提供許多此案例範圍未涵蓋的功能。 下表摘要說明 ARR 中可用的功能。

功能 描述
使用 UI 來瀏覽快取的內容 在 IIS 管理員中可檢視跨多個磁片磁碟機的快取內容,包括快取的目錄和檔案。
位元組範圍支援 ARR 會將位元組範圍要求分割成較小的片段,以在不影響回應時間的情況下,協助提升快取命中/遺漏率。
快取階層管理 ARR 可讓您定義和管理快取節點之間的關係。 它支援「快取陣列路由通訊協定」(CARP),因此您可以將 ARR 設定為邊緣快取節點。
CDN/ECN 環境中的快取 Proxy 節點 ARR 可用來做為內容傳遞網路 (CDN) 或邊緣快取網路 (ECN) 部署中的快取 Proxy。 因為 ARR 是一個支援磁碟快取和 CARP 的 Proxy 型 HTTP 要求路由模組。
快取壓縮的物件 ARR 會將物件壓縮並存放在磁碟型快取中,以便在每個要求發生時將這些物件即時解壓縮。
在提供回應服務時進行快取 ARR 可以在即時提供回應服務時快取大型檔案。
用戶端親和性 ARR 可以使用 Cookie 將來自用戶端的所有要求與內容伺服器建立親和性。
磁碟型快取 ARR 支援使用者指定之主要快取磁碟機和次要網路型快取磁碟機上的已快取內容。
失敗的要求追蹤規則 ARR 使用追蹤規則來進行失敗要求的疑難排解和診斷。
健康狀況監視 ARR 提供可在即時流量中使用的設定參數,以及可判斷內容伺服器健康狀況的特定 URL。
主機名稱親和性 主機名稱 affinity-a feature specific to shared hosters-changes the deployment topology by provider, round robin and memory, to determine which server the host affinitizes.
HTTP 型路由決策 「應用程式要求路由」會與 URL Rewrite 模組合作來撰寫以 HTTP 標頭和伺服器變數為依據的路由規則,並在應用程式層級進行路由決策。
即時要求支援 ARR 支援即時內容要求,分法是先將要求合併並檢查快取遺漏要求,再將要求轉送到原始伺服器。
負載平衡演算法 ARR 提供六種負載平衡演算法,可供您用來識別要使用哪一個內容伺服器來為 HTTP 要求提供服務。
使用 UI 來進行管理和監視 ARR 組態設定和執行時間統計資料可在 IIS 管理員中檢視。
多個伺服器群組 ARR 可以在試驗管理和 A/B 測試案例中管理多個內容伺服器群組。
覆寫快取控制指示詞 ARR 可讓您手動覆寫控制快取行為 (例如快取能力和快取期間) 的 Cache-Control 指示詞。
移除快取的內容 ARR 可讓您透過比對 URL 模式來刪除快取的內容。
為快取節點做準備 ARR 可讓您預先快取內容,在內容被要求之前先預料需求。 您可以只預先快取父系快取層,或父系和子系快取層都預先快取。

另請參閱