在上一篇配置iis負載均衡中咱們使用啦微軟的ARR,我在那篇文章也中提到了網站的高可用性,可是ARR只能作請求入口的消息分發服務,這樣若是咱們的消息分發服務器給down掉啦,那麼作再多的應用服務集羣也都枉然。算法
這篇文章我主要針對解決這一問題來作分析,引入NLB,相對於ARR來講,ARR算是應用級別的負載均衡方案,而NLB則是服務器級別的負載均衡方案。windows
若是微軟的這兩款方案咱們結合起來使用,那即是微軟高可用網站方案的天做之合啦。服務器
先說Application Request Route,他的具體實施方案,我已在我之前的文章中有描述,你們能夠了解下,這裏我配圖作個簡介。網絡
ARR能夠檢測到你的iis應用是否可用,並對用戶的請求實施負載均衡方案,根據咱們配置的負載均衡算法,把用戶的請求分發到應用服務器中。負載均衡
可是,若是咱們的ARR服務器down掉以後,咱們的整個應用程序就沒法使用,達不到24*7用不宕機的高可用要求。post
下面配圖爲NLB的網路負載平衡方案學習
NLB能夠最多能夠配置32臺服務器,這32臺服務器經過擁有本身的獨立ip以外,還共有一個虛擬IP,用戶訪問虛擬ip,nlb集羣根據配置的負載算法來肯定把用戶的請求分發給那臺應用服務器,若是一臺NLB服務器down掉,則不會影響消息的分發可達到7*24小時不down機的高可用方案。測試
可是,NLB不能檢測應用你的iis網站是否down掉,只能檢測服務器是否down掉,這樣一來,若是你的iis網站已經中止啦,nlb還給分發用戶請求,那樣麻煩可就來啦。網站
那麼咱們使用微軟的技術怎麼樣作到網站的高可用呢?對,就是NLB+Application Request Route .spa
用戶請求虛擬ip,接入nlb,nlb檢測一臺可用的服務器,吧請求發給arr,arr在檢測可用的網站把用戶請求給處理掉。叼!!叼!!叼!!!!
打開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服務器,關聯性爲無。
這篇文章就到這裏,其餘的測試結果不一一展現,本身坐下吧,體會更深入點。
若是你在開發過程當中使用啦這些技術,或者你要使用遇到啦什麼問題,歡迎加入左上角的羣,咱們一塊兒討論學習。