windows NLB+ARR實現Web負載均衡高可用/可伸縮


基於IIS的ARR負載均衡

基於NLB負載均衡

這兩篇分別分ARR 和 NLB基本配置,下面我們講講,如何組合使用,搭配成高可用/可伸縮集群。

什么是高可用,可伸縮 ?

高可用:是指系統經過專門設計減少停工時間,保持服務高度可用。正常工作時間/單位時間(一般一年),比率達99.99%以上,也就是停工一小時。可以算高可用。

可伸縮:是指增加或減少硬件實現軟件性能上的加大或減少的難易程度。

ARR集群不用擔心,因為自身就有健康檢查,如果子服務器有異常的話,反向代理不會將流量轉化到相應的服務器上。

現在比較擔心一個問題,如果代理服務器發生異常怎么辦?代理服務器負責轉化請求每日處理量極大,不排除發生故障的可能。ARR服務器容易發生單點故障,因此整ARR部署並不具有高可用性。

子服務器的數量其實受限於ARR服務器轉發能力,也是就說可擴展性受限。

如何解決ARR單點故障實現高可用 ?

 首先我們搭建兩個ARR服務器。

192.168.99.8 
192.168.99.10

在這兩台服務器上面分別安裝NLB,搭配NLB負載均衡。

注意主機優先級,目前設置為192.168.99.8為優先處理的服務器。

集群端口規則設置80端口。

設置為單一主機

也就說,兩台ARR,只有一台在工作,也就是192.168.99.8,別一台192.168.99.10為故障轉移服務器。部署完畢。

有人問,部署兩個,應用上會不會沖突?

其實不會的,ARR是應用的第七層上,NLB是應用在第三層,IP層。也就是說,NLB處理完之后,才會轉入到ARR進行處理。

 整體架構圖

媽蛋,我還沒有畫好圖,就把visio關了,右邊的ARR服務器,應該右邊移,線與線對應。看着老不爽了

展示效果

 

一共每秒150次請求。

三台內容服務器請求量總數為每秒150次。吻合。

ARR工作量,192.168.99.8正常工作,192.168.99.10備用。吻合

192.168.99.8 每秒請求150。吻合。

下面測試故障轉移,突然關掉192.168.99.8,大概接近半分鍾的時候,請求就轉移到192.168.99.10來了。我們可以明顯看到接近3000條請求失敗。

測試達到預期效果,吻合。

如何解決ARR可伸縮性 ?

 上面示例,如何搭建高可用。但是內容服務器依然受限於,ARR服務器轉化能力。如何突破受限於一台服務器的轉化能力轉為多台ARR服務器共同處理這個轉化,則就能實現內容服務器的可伸縮性。

答案非常簡單。我們只需把NLB服務器集群,端口規則更改為

 剛將兩個ARR服務器同時激活,承受能力將增倍,可擴展更多的內容服務器。

為了安全起見,二台ARR應該增加到三台,如果有一個宕機,流量轉接過來,可以保證余下兩台ARR服務器在能力承受范圍之內。隨機服務器增多,依此類推。

 

 以上方案己實現,高可用,可擴展。筆記到此啦。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM