春節将至,在此祝願各位園友春節愉快!新年大吉!萬事如意!!!
在大型Web應用系統中,由于請求的資料量過大以及并發的因素,導緻Web系統會出現當機的現象,解決這一類問題的方法我個人覺得主要在以下幾個方面:
1.IIS 負載均衡。
2.資料庫 負載均衡。
3.系統架構優化,比如報表伺服器和應用伺服器分開等。
本文主要介紹以下IIS負載均衡的實作方法,作者也是慢慢摸索的,如有不當之處還請各位大神指點以下,以求共同進步!!
示範環境介紹:
Server 1: 18.13 (用來分流的IIS伺服器)。
Server 2: 18.49 (用來分流的IIS伺服器)。
Server 3: 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:雖然是不同的伺服器,呈現出來不同的内容,這裡我是為了便于檢視效果,是以采用的不同的圖檔來顯示,不然不容易區分。
有一個待解決的問題:不知道Session如何處理?歡迎讨論。
如果您覺得對您有用,煩請幫頂,感謝!!
如需轉載,請注明出處,感謝!!