再聊負載均衡SLB的主備可用區和高可用部署最佳實踐

2021-09-22 22:10:50 字數 1705 閱讀 9574

阿里雲負載均衡slb的主備可用區提供了多個層級的高可用,可閱讀《負載均衡slb高可用的四個層次》。但很多使用者常常在下單選購時,對可用區的選擇感到困惑。到底如何選擇slb的主備可用區,如何搭配不同可用區的ecs,來構建高可靠應用系統呢?客官請聽下文分解。

首先,我們要搞清楚乙個事實,負載均衡slb的可用區設計的初衷,是用來抵禦可用區(機房)級別的重大災情的,比如機房整體掉電,機房出口光纜中斷等,即當某個可用區整體不可用時,備可用區才派上用場,也就是說只在上述情況下,slb的主備可用區才會發生倒換。而並非使用者的某個例項出現故障,就會自動發生主備倒換的,這是乙個很典型的誤區。

圖注:當可用區a整體不可用時,slb才會發生主備倒換

那麼主備可用區應該如何選擇比較合適呢?對於slb的主可用而言,主要看使用者的ecs主要分布在那個可用區,slb的主可用區和ecs的主可用區保持一致,將獲得最小的訪問延遲,但是我們並不推薦使用者將所有後端ecs都放置與同一可用區中,這是因為一旦可用區出現災情,使用者所有的後端伺服器全部都無法提供正常服務,應用系統就徹底癱瘓了。

下文我們分別針對單slb例項和多slb例項場景,介紹高可用部署的最佳實踐。

slb例項主可用區選擇可用區a,備可用區選擇可用區b,大部分ecs部署在可用區a,另外一少部分ecs部署在可用區b。這裡為之所以將大部分ecs放置與可用區a,而少部分ecs放置於可用區b,是因為slb絕大部分時間都是主可用區例項在工作(畢竟可用區級別的災情是非常罕見的),而slb和ecs處於同一可用區時,擁有最小的訪問延遲;同時部署一小部分ecs與可用區b是為了萬一出現了可用區a整體不可訪問的情況時,可用區b還有ecs可以維持系統的正常工作。而如果所有的ecs都部署在可用區a,那麼一旦出現可用區災情時,整體服務就不可用了。

以上介紹的是單slb例項的高可靠部署方案,雖然使用者只購買了乙個slb例項,但是由於slb本身提供了主備可用區的冗餘,因此基本上消除了系統中的單點故障,對於一般的系統應用而言,這樣的部署方案已經可以基本滿足高可用需求。

但是對於特別重要的業務,對可用性要求極高的業務,單slb例項的部署方案顯得不足了,原因就是上面提到的,只有可用區整體不可用時,才會發生slb主備切換,因為配置不正確、網路攻擊或其他異常因素導致的使用者例項不可用,這是由於不滿足可用區整體不可用的條件,因此並不會觸發主備切換動作,此時使用者的業務就有可能受損了,對於這類使用者而言,我們建議使用不同可用區多slb例項的部署方案,詳見下文。

對系統可用性要求特別高的使用者,建議使用者在可用區a和可用區b分別購買slb例項,同樣ecs也分別在可用區a和可用區b購買,將可用區a和可用區b的ecs分都掛載於不同可用區的slb例項後端,前端再使用全球負載均衡(雲解析dns)進行排程,使用者通過網域名稱來訪問服務。這樣部署的好處如下,不論是可用區級別的故障,還是使用者slb例項級別的故障,或者是後端ecs的故障,系統都具備容災能力,另外由於前端使用了雲解析dns,在遇到訪問量突增時,還可以通過橫向擴充套件slb例項來提公升系統的整體處理能力,另外隨著企業的逐步發展,還可以通過在異地部署slb和ecs來實現多地多活的雲上業務架構,因此該方案是對系統高可用要求非常高的使用者首選部署方案。

負載均衡(SLB) 高可用

負載均衡 slb 高可用是從系統設計 產品配置等多個方面提供了可用性保障。此外,您可以根據業務需求,配合使用雲解析dns等產品實現跨地域容災。負載均衡例項採用集群部署,可實現會話同步,以消除伺服器單點故障,提公升冗餘,保證服務的穩定性。其中四層負載均衡通過lvs linux virtual serv...

負載均衡,主備模式

負載均衡 從字面來講負載均衡,是將負載進行平衡,將任務分攤到多個操作單元執行。負載演算法部分 通常的負載會有 輪詢 隨機 最小連線法 橋接模式 用的非常少 網路直接返回模式 client訪問vip,vip對應負載均衡機的wan口 由實際ip位址返回給client 均衡技術 基於dns負載均衡 由dn...

nginx負載均衡及主備配置

先負載均衡 nginx的負載均衡有4種模式 1 輪詢 預設 每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。2 weight 指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。2 ip hash 每個請求按訪問ip的hash結果分配,這樣每...