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

發表於2019-02-15

  下面小編就為大家分享一篇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伺服器在能力承受範圍之內。隨機伺服器增多,依此類推。

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

  這篇windows NLB+ARR實現Web負載均衡高可用/可伸縮的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,

相關文章