序言
在上一篇配置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服務器,關聯性為無。
這篇文章就到這里,其他的測試結果不一一展示,自己坐下吧,體會更深刻點。
總結
如果你在開發過程中使用啦這些技術,或者你要使用遇到啦什么問題,歡迎加入左上角的群,我們一起討論學習。