IIS負載均衡-Application Request Route詳解第五篇:使用ARR來配置試點項目


IIS負載均衡-Application Request Route詳解第五篇:使用ARR來配置試點項目

 

 

系列文章鏈接:

 

IIS負載均衡-Application Request Route詳解第一篇: ARR介紹   

IIS負載均衡-Application Request Route詳解第二篇:創建與配置Server Farm  

 IIS負載均衡-Application Request Route詳解第三篇:使用ARR進行Http請求的負載均衡(上)  

IIS負載均衡-Application Request Route詳解第三篇:使用ARR進行Http請求的負載均衡(下)  

IIS負載均衡-Application Request Route詳解第四篇:使用ARR實現三層部署架構

IIS負載均衡-Application Request Route詳解第五篇

 

 

       看到本篇的題目,大家可能感到有點奇怪!下面,我們就來看看這到底是什么意思。

 

       大家可能遇到過這樣的一種情況:希望根據某些請求用戶的特性,將用戶的請求導向不同的站點(請大家這里區分“親緣性”的概念,這里不是“親緣性”)。如果說,大家還不是很明確,那么我們就舉個例子:如果發出請求的用戶用的是IE瀏覽器,那么我們就將他們的請求發送到A服務器上的站點,如果用戶用的是Firefox瀏覽器,那么我們就將請求轉發到B服務器。

 

總結一句話:根據用戶的特性來,按照我們的意願來處理不同特性的請求。

 

       我們完全可以把ARR的這個特性使用的更加靈活,例如,如果用戶請求的是文件,那么,我們就像將其轉發給文件服務器;再如,如果此時我們的站點是Beta版本的,我們所有的請求用服務器A來處理,等到以后站點穩定之后,我們就用服務器B上的站點來處理請求,等等。

 

正如之前一樣,我們首先來准備一些環境,便於測試!

 

首先,希望使用IIS 7(及以上版本),並且安裝ARR,大家可以參看之前的系列文章。

其次,准備好一台服務器(虛擬機也可以)。

再次,我們在服務器上部署兩個站點:pilotSite和productionSite。

 

       我們本次的目的就是:如果發送請求的客戶端安裝了.NET Framework 3.5 並且還是用的是IE瀏覽器,那么,我們就將請求發送給pilotSite,否則就發送給productionSite,並且兩個不同的站點分別位於不同的兩個Server Farm中(當然,我們可以在每個Farm中加入更多的站點)。

              

下面,我們就開始具體的操作。

1. 在IIS中部署兩個站點(我們分別將其部署在不同的端口,如果願意,大家完全可以將其分別放在兩台不同的服務器上)如下圖: 

 

 

20120405231440.png

 

2. 創建兩個Server Farm,分別名為:pilotSiteServers,和productionSiteServers,如下:

 

20120405231503.png

 

3. 選中pilotSiteServers,然后雙擊“Routing Rules”,得到如下圖:

 

20120405231532.png

 

因為這里需要涉及到了使用多個Server Farm來匹配不同的請求,所以,需要配置與URL Rewrite。

 

4. 點擊了“URL Rewrite…”之后,看到如下的界面:

 、20120405231648.png

我們可以看到,現在已經有了兩條URL Rewrite規則,因為此時,我們需要根據特定的用戶信息來轉發請求,所以,我們要修改默認的規則:

 

       a. 我們要確保“ARR_pilotSiteServers_loadbalance”在上面,而“ARR_productionSiteServers_loadbalance”在下面,如果不是,可以點擊“Move Up”和“Move Down”來調整,如下:

 

20120405231904.png

 

b. 選擇“ARR_pilotSiteServers_loadbalance”,然后點擊“Edit”開始編輯。此時看到的界面如下:

 

 

20120405231942.png

 

c. 按照我們之前的需求:客戶端安裝了.NET 3.5 並且使用IE瀏覽器的請求都被轉發給pilotSiteServers來處理,所以,我們開始添加我們的一些過濾的規則,點擊“Add Conditions”,然后點擊“Add…”,如下圖:

 

20120405232025.png

 

添加“{HTTP_USER_AGENT}”,然后在Pattern添加“*MSIE*”,如圖:

 

20120405232119.png

 

然后,我們在添加另外一個規則(.NET 3.5的那個),操作和上面的類似,如圖:

 

20120405232148.png

 

添加完了兩個過濾規則之后,然后不勾選 “Stop processing of subsequent rules”,然后點擊“Apply”,如圖:

 

20120405232224.png

 

 

到這里就可以運行站點了。

建議大家將兩個站點部署在不同的服務器上面,因為我在測試的過程中發現:將兩個放在一台服務器上面,總是報錯,分開就好了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM