負載均衡(slb)高可用是從系統設計、產品配置等多個方面提供了可用性保障。此外,您可以根據業務需求,配合使用雲解析dns等產品實現跨地域容災。負載均衡例項採用集群部署,可實現會話同步,以消除伺服器單點故障,提公升冗餘,保證服務的穩定性。其中四層負載均衡通過lvs(linux virtual server)+ keepalived的方式實現,七層負載均衡通過tengine(**網發起的web伺服器專案,在nginx的基礎上,針對有大訪問量的**需求進行了優化)實現。
來自公網的請求通過等價多路徑路由(ecmp)到達lvs集群,lvs集群內的每台lvs通過組播報文將會話同步到該集群內的其它lvs機器上,從而實現lvs集群內各台機器間的會話同步。同時,lvs集群會對tengine集群進行健康檢查,將異常機器從tengine集群移除,保證七層負載均衡的可用性。
最佳實踐:
會話同步可以保證長連線不受集群內伺服器故障的影響,但是對於短連線或連線未觸發會話同步規則時(未完成三次握手),集群內的伺服器故障仍可能會影響使用者請求。為了防止集群中某台機器故障導致的會話中斷,您可以在業務邏輯中加入重試機制,降低對使用者訪問造成的影響。
為了向廣大使用者提供更穩定可靠的負載均衡服務,阿里雲負載均衡已在大部分地域部署了多可用區以實現同地域下的跨機房容災。當主可用區出現故障或不可用時,負載均衡有能力在非常短的時間內(約30秒)切換到備可用區並恢復服務;當主可用區恢復時,負載均衡同樣會自動切換到主可用區提供服務。
說明負載均衡的主備可用區是可用區級別的容災。只有當主可用區整體不可用時,如機房整體斷電、機房出口光纜中斷等,負載均衡才會切換到備可用區。而並非某個例項出現故障,就切換到備可用區。最佳實踐:
為了更好的利用負載均衡的主備可用區機制,建議您在支援主備可用區的地域建立負載均衡例項,即在購買負載均衡例項時選擇可用區型別為多可用區的地域。
當您選擇slb的主備可用區時,可以根據ecs例項的可用區分布進行選擇。大部分ecs例項位於哪個可用區,就將哪個可用區選擇為slb的主可用區,以獲取最小的訪問延遲。 但是並不建議您將全部ecs例項都部署在乙個可用區內,您也需要在slb的備可用區部署少量ecs例項,以便在極端情況下(主可用區整體不可用時),切換到備可用區後仍舊可以正常處理負載均衡**的請求。
如果您對可用性的要求特別高,負載均衡例項自身的可用性保障機制可能無法滿足您的需求。例如當網路攻擊或配置錯誤等情況導致負載均衡例項不可用時,由於未出現可用區級故障,不會觸發負載均衡例項的可用區切換。此時,您可以建立多個slb例項,通過雲解析dns對訪問進行排程,或通過全球負載均衡解決方案實現跨地域容災備份。
最佳實踐:
您可以在乙個地域內的多個可用區或多個地域內部署負載均衡例項和後端ecs例項,然後使用雲解析dns對訪問進行排程。
負載均衡通過健康檢查來判斷後端ecs例項的可用性。健康檢查機制提高了前端業務整體可用性,避免了後端ecs異常對總體服務的影響。
開啟健康檢查功能後,當後端某個ecs例項健康檢查出現異常時,負載均衡會自動將新的請求分發到其他健康檢查正常的ecs例項上;而當該ecs例項恢復正常執行時,負載均衡會將其自動恢復到負載均衡服務中。關於健康檢查的詳細機制,請參見健康檢查介紹 。
最佳實踐:
為了使健康檢查功能正常運作,您需要開啟並正確配置健康檢查。具體的操作流程請參見配置健康檢查 。
負載均衡SLB
負載均衡 server load balancer,簡稱slb 是一種網路負載均衡服務,針對阿里雲彈性計算平台而設計,在系統架構 系統安全及效能,擴充套件,相容性設計上都充分考慮了彈性計算平台雲伺服器使用特點和特定的業務場景。slb服務主要由3個基本概念組成。loadbalancer代表乙個slb例...
再聊負載均衡SLB的主備可用區和高可用部署最佳實踐
阿里雲負載均衡slb的主備可用區提供了多個層級的高可用,可閱讀 負載均衡slb高可用的四個層次 但很多使用者常常在下單選購時,對可用區的選擇感到困惑。到底如何選擇slb的主備可用區,如何搭配不同可用區的ecs,來構建高可靠應用系統呢?客官請聽下文分解。首先,我們要搞清楚乙個事實,負載均衡slb的可用...
高可用 負載均衡 方案
高可用 keepalived heartbeat 負載 lvs haproxy web應用的負載均衡 集群 高可用 ha 解決方案 構建高效能web站點 筆記 基礎架構篇 高可用可伸縮架構實用經驗談 amoeba是乙個以mysql為底層資料儲存,並對應用提供mysql協議介面的proxy。它集中地響...