配置IIS的負載均衡

王磊的部落格發表於2015-02-25

在大型Web應用系統中,由於請求的資料量過大以及併發的因素,導致Web系統會出現當機的現象,解決這一類問題的方法我個人覺得主要在以下幾個方面:

1.IIS 負載均衡。

2.資料庫 負載均衡。

3.系統架構優化,比如報表伺服器和應用伺服器分開等。

本文主要介紹以下IIS負載均衡的實現方法,作者也是慢慢摸索的,如有不當之處還請各位大神指點以下,以求共同進步!!

 

演示環境介紹:

Server 1: 18.13 (用來分流的IIS伺服器)。

Server 1: 18.49 (用來分流的IIS伺服器)。

Server 1: 50.32 (使用者所訪問的伺服器)。

 用來演示的網站:一個名為WebTest的網站,內容就是一張圖片,足以達到演示效果。

安裝Server Farms ,如下圖所示:

整個安裝步驟非常簡單,跟著提示走即可,安裝完成之後在IIS裡面可以看到Server Farms的專案了,如下圖所示:

 

現在我們通過Server Farms 來建立Server,如下圖所示:

有多少個IIS伺服器就建立多少個,我這裡建立了2個,建立完成之後可以在“執行狀態測試”中進行測試,如下:

Server Farms判斷目標IIS伺服器是否正常,是通過目標伺服器裡面的某一個檔案返回的資料來判斷的,具體配置如下所示,health.txt是用來作為驗證的一個檔案,裡面的內容是OK,那麼如果這個檔案返回的資料是OK,Server Farms則會判斷該伺服器為正常狀態,反之則不正常:

 

 

對於如何去平衡伺服器的壓力,Server Farms已經提供了一些演算法,具體如截圖所示,這裡不做詳細的介紹,大家有興趣的話可以逐個測試一下,

 

兩臺IIS伺服器驗證成功,說明我們的配置是正確的,下一步我們來測試一下:我直接訪問50.32伺服器,這個時候呈現出來的頁面是18.49這個伺服器上面的圖片。

 

 

OK,現在我將18.49這臺伺服器的IIS停止掉,如下圖所示:

 

當18.49這臺伺服器的IIS停止以後,我們再次檢視Server Farms裡面的伺服器狀態,如下圖所示:

 

當18.49掛了之後,我們再次訪問50.32伺服器,結果出來了:

 

結論:當配置了多臺IIS伺服器之後,根據我們定義的均衡規則和演算法,它會自動為我們協調和分配當前的請求來達到分流的目的,上面的演示中,當18.49無法訪問的時候,自動貝切換到了18.13伺服器。

PS:雖然是不同的伺服器,呈現出來不同的內容,這裡我是為了便於檢視效果,所以採用的不同的圖片來顯示,不然不容易區分。

相關文章