IIS負載均衡中我們使用微軟的ARR,但提到網站的高可用性,ARR只能做請求入口的消息分發服務,這樣如果我們的消息分發服務器給down掉啦,那么做再多的應用服務集群也都枉然。
這里我們主要針對解決這一問題來做分析,引入NLB,相對於ARR來說,ARR算是應用級別的負載均衡方案,而NLB則是服務器級別的負載均衡方案。
如果微軟的這兩款方案我們結合起來使用,那便是微軟高可用網站方案的天作之合啦。
圖一:
ARR可以檢測到你的iis應用是否可用,並對用戶的請求實施負載均衡方案,根據我們配置的負載均衡算法,把用戶的請求分發到應用服務器中。
但是,如果我們的ARR服務器down掉之后,我們的整個應用程序就無法使用,達不到24*7用不宕機的高可用要求。
圖二:
NLB可以最多可以配置32台服務器,這32台服務器通過擁有自己的獨立ip之外,還共有一個虛擬IP,用戶訪問虛擬ip,nlb集群根據配置的負載算法來確定把用戶的請求分發給那台應用服務器,如果一台NLB服務器down掉,則不會影響消息的分發可達到7*24小時不down機的高可用方案。
但是,NLB不能檢測應用你的iis網站是否down掉,只能檢測服務器是否down掉,這樣一來,如果你的iis網站已經停止啦,nlb還給分發用戶請求,那樣麻煩可就來啦。
圖三: