使用應用程式要求路由的共享裝載 (ARR)
在共用主機環境中使用應用程式要求路由(ARR)引進了新的部署架構,可為共用主機者提供額外的優點和機會。 此案例是由應用程式要求路由中稱為主機名親和性的功能所啟用。 如需主機名親和性功能及其與共用裝載關係的詳細資訊,請參閱 使用應用程式要求路由的共用裝載部署。
本主題會引導您完成在應用程式要求路由中設定主機名親和性功能的步驟,如下所示:
Goal
在共用裝載環境中設定應用程式要求路由。
必要條件
本逐步解說需要下列必要條件:
Windows 2008 (任何 SKU) 或更新版本上的 IIS 7.0 或更新版本。
Microsoft 應用程式要求路由第 1 版和相依模組。
至少有兩部具有工作網站和應用程式的應用程式伺服器。
- 伺服器應該設定為使用共用組態和共享內容。 如需共用組態的詳細資訊,請參閱 共用組態 一文。
- 伺服器上的月臺應該使用主機名系結。
請遵循本檔中所述的步驟來安裝應用程式要求路由。
作為另一個必要條件,您必須遵循定義和設定應用程式要求路由 (ARR) 伺服器群組中所述的步驟來定義和設定伺服器數位。
步驟 1 – 啟用主機名親和性
在繼續之前,請確定伺服器陣列是使用已設定共用組態和共用內容的應用程式伺服器所建立。 應用程式伺服器上的月臺也應該使用主機名系結。
若要使用UI啟用主機名親和性
啟動 IIS 管理員。
選取已為此逐步解說建立的伺服器數組。
顯示下列圖示:
按兩下 [ 伺服器親和性]。
若要啟用主機名親和性,請選取 [使用主機名],然後按兩下 [ 套用]。
請注意,有兩個提供者可用來判斷主機名應該與哪個伺服器同構型。 這與負載平衡演算法不同,而且提供者僅用於主機名親和性功能。 這兩個提供者為:
- Microsoft.Web.Arr.HostNameRoundRobin
- Microsoft.Web.Arr.HostNameMemory
Microsoft.Web.Arr.HostNameRoundRobin 會嘗試平均散發迴圈配置資源中親和化主機名的數目。 使用此提供者在應用程式伺服器上沒有任何需求。
Microsoft.Web.Arr.HostNameMemory 會嘗試根據應用程式伺服器上的可用記憶體數量來散發同構型主機名的數目,其中具有最多可用內存量的伺服器會使用下一個主機名來指派。 此提供者會使用 WMI 來查詢可用的記憶體(定義為認可的記憶體/物理記憶體)。 因此,應用程式伺服器必須是 Windows 伺服器,而且必須在應用程式伺服器上進行其他設定,才能允許遠端 WMI 查詢。 如需 詳細資訊,請參閱如何為 HostNameMemory 親和性提供者 在應用程式伺服器上設定 WMI 服務。
逾時值可用來判斷應該重設同質化最後一個主機名的要求之後多久。 此值應該設定為與應用程式伺服器上應用程式集區閑置逾時值相同的值。 根據預設,此值為20分鐘。
若要確認此功能,請按兩下 [ 顯示路由表]。
輸入主機名,然後按兩下 [ 依主機名查閱]。 顯示的伺服器位址是主機名親和化的位置。
使用命令行啟用主機名親和性
使用系統管理員權限開啟命令提示字元。
瀏覽至
%windir%\system32\inetsrv
。若要啟用主機名親和性,請輸入 (下列範例使用 myServerFarm 作為伺服器陣列的名稱):
appcmd.exe set config -section:webFarms /[name='myServerFarm'].applicationRequestRouting.affinity.useHostName:"True" /commit:apphost
步驟 2 - 指定每個主機名要使用的伺服器數目
根據預設,所有主機名都可以使用一部應用程式伺服器。 不過,如果網站擁有者想要額外的容量,主機管理員可以指定月臺可以針對每個主機名使用的應用程式伺服器數目。
若要指定使用 UI 的伺服器數目
在 [伺服器親和性] 頁面上,按兩下 [進階 設定]。
在 [ 主機名] 數據行中,輸入主機名。 這是必要欄位。
在 [ 配置的伺服器 數目] 資料行中,輸入此主機名可以使用的伺服器數目。
替代主機名是選擇性字段,可用來指定應該以與 [主機名] 資料行中值相同的方式處理的其他主機名。 例如,網站擁有者可能有相同網站的多個 DNS 專案。 在此情況下,他希望 ARR 以相同方式處理多個 DNS 專案,讓只有一個背景工作進程在這兩個功能變數名稱的應用程式伺服器上啟動。
若要儲存變更,請按兩下 [ 確定]。
若要確認此功能,請按兩下 [ 顯示路由表]。
輸入主機名,然後按兩下 [ 依主機名查閱]。 傳回的伺服器位址數目會與您為 [配置的伺服器數目] 所指定的位址相同。 這些是主機名可親和化的伺服器。
若要指定使用命令列的伺服器數目
使用系統管理員權限開啟命令提示字元。
瀏覽至
%windir%\system32\inetsrv
。若要指定每個主機名的伺服器數目,請輸入 (下列範例使用 myServerFarm 作為伺服器陣列的名稱,並將主機名的伺服器數目設定為 2
www.contoso.com
):appcmd.exe set config -section:webFarms /+"[name='myServerFarm'].applicationRequestRouting.affinity.[name='www.contoso.com',servers='2']" /commit:apphost
摘要
您現在已成功在共用裝載案例的應用程式要求路由中設定主機名親和性功能。 如需其他應用程式要求路由屬性和功能,請參閱其他應用程式要求路由 逐步解說。