這兩篇分別分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服務器在能力承受范圍之內。隨機服務器增多,依此類推。
以上方案己實現,高可用,可擴展。筆記到此啦。