序言在上一篇配置iis負載均衡中我們使用啦微軟的ARR,我在那篇文章也中提到了網站的高可用性,但是ARR只能做請求入口的消息分發服務,這樣如果我們的消息分發伺服器給down掉啦,那麼做再多的應用服務集群也都枉然。這篇文章我主要針對解決這一問題來做分析,引入NLB,相對於ARR來說,ARR算是應用級別...
序言
在上一篇配置iis負載均衡中我們使用啦微軟的ARR,我在那篇文章也中提到了網站的高可用性,但是ARR只能做請求入口的消息分發服務,這樣如果我們的消息分發伺服器給down掉啦,那麼做再多的應用服務集群也都枉然。
這篇文章我主要針對解決這一問題來做分析,引入NLB,相對於ARR來說,ARR算是應用級別的負載均衡方案,而NLB則是伺服器級別的負載均衡方案。
如果微軟的這兩款方案我們結合起來使用,那便是微軟高可用網站方案的天作之合啦。
Application Request Route與NLB高可用方案的演進
先說Application Request Route,他的具體實施方案,我已在我以前的文章中有描述,大家可以瞭解下,這裡我配圖做個簡介。
ARR可以檢測到你的iis應用是否可用,並對用戶的請求實施負載均衡方案,根據我們配置的負載均衡演算法,把用戶的請求分發到應用伺服器中。
但是,如果我們的ARR伺服器down掉之後,我們的整個應用程式就無法使用,達不到24*7用不宕機的高可用要求。
下麵配圖為NLB的網路負載平衡方案
NLB可以最多可以配置32台伺服器,這32台伺服器通過擁有自己的獨立ip之外,還共有一個虛擬IP,用戶訪問虛擬ip,nlb集群根據配置的負載演算法來確定把用戶的請求分發給那台應用伺服器,如果一臺NLB伺服器down掉,則不會影響消息的分發可達到7*24小時不down機的高可用方案。
但是,NLB不能檢測應用你的iis網站是否down掉,只能檢測伺服器是否down掉,這樣一來,如果你的iis網站已經停止啦,nlb還給分發用戶請求,那樣麻煩可就來啦。
那麼我們使用微軟的技術怎麼樣做到網站的高可用呢?對,就是NLB+Application Request Route .
用戶請求虛擬ip,接入nlb,nlb檢測一臺可用的伺服器,吧請求發給arr,arr在檢測可用的網站把用戶請求給處理掉。叼!!叼!!叼!!!!
NLB的安裝配置
打開windows伺服器,進入伺服器管理界面選擇功能,然後添加功能。
安裝過之後,打開網路負載平衡器
新建集群,首先你在你區域網中,找一個沒有使用過的ip作為你集群的虛擬ip。
設置優先順序,優先順序數字越小,則代表越高。
添加集群ip也就是你事先檢查過區域網中不存在的一個ip地址,他就是圖中的虛擬ip。
設置需要集群負載的埠然後設置協議,分發形式。
然後再添加一臺伺服器到集群中。
這樣就成功啦。就是如此簡單。
那麼回過頭來我們來看下篩選模式的相關性。
無:加入A,B兩台伺服器,請求分發是這樣的:ABABABABABAB.....
單一:加入A,B兩台伺服器,請求分發是這樣的:AAAAAAAAAAAAAAAAA.....或者BBBBBBBBBBB....
網路:根據IP的Class C屏蔽來決定交由哪一部伺服器來處理,也就是一部伺服器只會處理來自某些網段C的請求。這種方式可確保使用多重Proxy的客戶端能導向到相同的伺服器。
單一主機:優先順序別最高的一臺可用伺服器處理說有的用戶請求。
禁用此埠範圍:配置的埠範圍不做轉發,剩餘的才做。
展示下效果
53伺服器,訪問虛擬ip176,獲取到121伺服器的內容。
模擬100個用戶,發送1000個請求虛擬集群ip,黃色訪問的是121伺服器,白色是122伺服器,關聯性為無。
這篇文章就到這裡,其他的測試結果不一一展示,自己坐下吧,體會更深刻點。
總結
如果你在開發過程中使用啦這些技術,或者你要使用遇到啦什麼問題,歡迎加入左上角的群,我們一起討論學習。