摘要:當負載均衡器接受到來自客戶端的請求后,會通過一系列負載均衡算法,將訪問請求路由分發到后端虛擬機服務器池進行請求處理,同時由將處理結果返回給客戶端。支持內網和外網兩種類型負載均衡器,滿足內網數據中心及互聯網服務負載均衡應用場景。
負載均衡( Load Balance )是由多臺服務器以對稱的方式組成一個服務器集合,每臺服務器都具有等價的地位,均可多帶帶對外提供服務而無須其它服務器的輔助。平臺負載均衡服務(簡稱 ULB—UCloudStack Load Balance)是基于 TCP/UDP/HTTP/HTTPS 協議將網絡訪問流量在多臺虛擬機間自動分配的控制服務,類似于傳統物理網絡的硬件負載均衡器。
通過平臺負載均衡服務提供的虛擬服務地址,將相同數據中心、相同 VPC 網絡的虛擬機添加至負載均衡轉發后端,并將加入的虛擬機構建為一個高性能、高可用、高可靠的應用服務器池,根據負載均衡的轉發規則,將來自客戶端的請求均衡分發給服務器池中最優的虛擬機進行處理。
支持內外網兩種訪問入口類型,分別提供 VPC 內網和 EIP 外網的負載訪問分發,適應多種網絡架構及高并發的負載應用場景。提供四層和七層協議的轉發能力及多種負載均衡算法,支持會話保及健康檢查等特性,可自動隔離異常狀態虛擬機,同時提供 SSL Offloading 及 SSL 證書管理能力,有效提高整體業務的可用性及服務能力。
ULB 支持收集并展示負載流量各種網絡指標的監控數據,并可根據告警模板進行監控報警及通知,保證業務的正常運行。當前 ULB 為接入的虛擬機服務池提供基于 NAT 代理的請求分發方式,在 NAT 代理模式下,所有業務的請求和返回數據都必須經過 ULB ,類似 LVS 的 NAT 工作模式。
平臺提供外網和內網兩種類型的負載均衡服務,分別對應外網服務和內網服務兩種場景。用戶可根據業務需求,選擇創建對外公開或對內私有的負載均衡實例,平臺會根據負載均衡類型分別分配外網 IP 地址或 VPC 私有網絡的 IP 地址,即負載均衡的服務訪問地址。
- 外網類型的負載均衡使用場景:部署在平臺的業務服務需要構建高可用虛擬機集群,且需對互聯網提供統一訪問入口。部署在平臺的業務服務需要構建高可用虛擬機集群,且需對 IDC 數據中心提供統一訪問入口。
- 內網負載均衡使用場景:部署在平臺的業務服務需要構建高可用虛擬機集群,且僅需對 VPC 內網提供統一訪問入口。部署在 VPC 私有網絡的虛擬機集群需要對其它用戶或服務屏蔽真實 IP 地址,對客戶端提供透明化服務。
用戶也可將負載均衡服務分配的 IP 地址與自有域名綁定在一起,通過域名訪問后端應用服務。
一個提供服務的負載均衡,主要由 LB 實例( LoadBalancer )、虛擬服務器( VServer )、后端服務器( Backend Real Server )三部分組成。如架構圖所示:
- LoadBalancer( LB ):負載均衡實例為主備高可用集群架構,可實現負載均衡器故障自動切換,提高接入負載均衡服務的可用性。同時結合內外網 IP 地址,根據 VServer 配置的監聽器,將虛擬機加入到 Backend 成為 Real Server ,以實現業務的流量均衡與服務容錯。
- Virtual Server( VServer ):監聽器,每個監聽器是一組負載均衡的監聽端口配置,包含協議、端口、負載算法、會話保持、連接空閑超時及健康檢查等配置項,用于分發和處理訪問 LB 的請求。
- Backend Server Pool :后端一組虛擬機服務器池,實際處理請求的真實服務器(RealServer),即真實部署業務的虛擬機實例。
- 外網 IP( EIP ):外網彈性 IP 地址,綁定至外網類型的 LB 實例上,對互聯網或 IDC 數據中心提供業務負載均衡訪問入口。
- 內網 IP (Private IP):內網 IP 地址,內網類型 LB 實例提供服務的訪問地址,通常是由創建內網負載均衡器時指定的 VPC 自動分配。
負載均衡器用于承載 VServer 及訪問入口,VServer 負責訪問入口地址的端口監聽及請求分發。當負載均衡器接受到來自客戶端的請求后,會通過一系列負載均衡算法,將訪問請求路由分發到后端虛擬機服務器池進行請求處理,同時由 VServer 將處理結果返回給客戶端。
- 通過加權輪詢、最小連接數及基于源地址的負載均衡調度策略,進行業務請求流量轉發,滿足多場景業務負載需求,如加權輪詢是按照后端服務器的權重進行請求轉發,權重越大轉發的請求越多。
- 通過會話保持機制,在請求會話的生命周期內,會將來自同一個客戶端的會話轉發至同一個虛擬機進行處理,適用于 TCP 長連接等應用場景。
- 通過健康檢查機制,監控 RealServer 的運行狀況及業務可用性,確保只將流量分發至業務健康的虛擬機。當 后端虛擬機業務不可訪問時,調度器會停止向虛擬機分發負載流量;待虛擬機業務恢復正常后,會將虛擬機重新加入至 VServer 后端并分發流量至虛擬機。
負載均衡器的工作模式為 NAT 請求代理,請求和返回均由負載均衡器進行轉發和處理,即后端 RealServer 虛擬機處理請求后,會將請求返回給負載均衡 ,由負載均衡將結果返回給客戶端。
平臺負載均衡服務提供四層和七層轉發能力,支持內網和外網兩種網絡入口,在多種負載調度算法基礎之上支持健康檢查、會話保持、連接空閑超時、內容轉發及 SSL Offloading 和 SSL 證書管理等功能,保證后端應用服務的可用性和可靠性。
- 支持內網和外網兩種類型負載均衡器,滿足 VPC 內網、IDC 數據中心及互聯網服務負載均衡應用場景。
- 提供四層和七層業務負載分發能力,支持基于 TCP、UDP、HTTP 及 HTTPS 協議的監聽及請求轉發。
- 支持加權輪詢、最小連接數和基于源地址的的負載調度算法,滿足不同場景的流量負載業務。加權輪詢:基于權重的輪詢調度,負載均衡器接收到新的訪問請求后,根據用戶指定的權重,按照權重概率分發流量至各后端虛擬機,進行業務處理;最小連接數:基于后端服務器最小連接數進行調度,負載均衡器接收到新的訪問請求后,會實時統計后端服務器池的連接數,選擇連接數最低的虛擬機建立新的連接并進行業務處理;源地址:基于客戶端源 IP 地址的調度策略,采用哈希算法將來源于相同 IP 地址的訪問請求均轉發至一臺后端虛擬機進行處理。
- 提供會話保持功能,在會話生命周期內,保證同一個客戶端的請求轉發至同一臺后端服務節點上。四層和七層分別采用不同的方式進行會話保持 。針對 UDP 協議,基于 IP 地址保證會話保持,將來自同一 IP 地址的訪問請求轉發到同一臺后端虛擬機進行處理,支持關閉會話 UDP 協議的會話保持;針對 HTTP 和 HTTPS 協議,提供 Cookie 植入的方式進行會話保持,支持自動生成KEY 和自定義 KEY。自動生成 key 是由平臺自動生成 Key 進行植入,自定義 Key 是由用戶自定義 Key 進行植入。
- 支持 TCP、HTTP 及 HTTPS 協議的連接空閑超時配置,自動中斷在超時時間內一直無訪問請求的連接。客戶端向 LB 地址發送的請求,在平臺會維護兩個連接,一個由客戶端到 LB,一個由 LB 到后端虛擬機;連接空閑超時是指由客戶端到 LB 的連接空閑超時時間,若在超時周期內沒有發送或接收任何數據,將自動中斷從客戶端到 LB 的連接;默認連接空閑超時周期為 60 秒,即在建立連接后的 60 秒內一直沒有新的數據請求,將自動中斷連接。
- 健康檢查:支持端口檢查和 HTTP 檢查,根據規則對后端業務服務器進行業務健康檢查,可自動檢測并隔離服務不可用的虛擬機,待虛擬機業務恢復正常后,會將虛擬機重新加入至 VServer 后端并分發流量至虛擬機。端口檢查:針對四層和七層負載均衡,支持按 IP 地址 + 端口的的方式探測后端服務節點的健康狀況,及時剔除不健康的節點;HTTP 檢查:針對七層負載均衡,支持按 URL 路徑和請求 HOST 頭中攜帶的域名進行健康檢查,篩選健康節點。
- 內容轉發:針對七層 HTTP 和 HTTPS 協議的負載均衡,支持基于域名和 URL 路徑的流量分發及健康檢查能力,可將請求按照域名及路徑轉發至不同的后端服務節點,提供更加精準的業務負載均衡功能。
- SSL 證書:針對 HTTPS 協議,提供統一的證書管理服務和 SSL Offloading 能力,并支持 HTTPS 證書的單向和雙向認證。SSL 證書部署至負載均衡,僅在負載均衡上進行解密認證處理,無需上傳證書到后端業務服務器,降低后端服務器的性能開銷。
- HTTP 獲取客戶端真實 IP:HTTP 監聽器支持附加 HTTP header 字段,通過 X-Forwarded-For 和 X-Real-IP 獲取客戶端真實 IP 地址。
- TCP 獲取客戶端真實 IP:TCP 監聽器采用 Nginx 官方的 Proxy-Protocol 方案。使 LB TCP 監聽收到客戶端的請求后,在轉發請求至后端服務節點時,將客戶端的源 IP 地址封裝在 TCP 請求數據包中,發送給后端服務節點,使服務端通過解析 TCP 數據包后即可獲取客戶端 IP 地址。Proxy Protocol是一種 Internet 協議,用于將連接信息從請求連接的源傳送到請求連接的目的地,通過為 TCP 報文添加 Proxy Protocol 報頭來獲取客戶端源 IP,因此需要后端服務節點做相應的適配工作,解析 Proxy Protocol 報頭以獲取客戶端源 IP 地址。Proxy-Protocol 官方文檔詳見:https://docs.nginx.com/nginx/admin-guide/load-balancer/using-proxy-protocol/ 。
- 獲取監聽器協議:HTTP 監聽器支持附加 HTTP header 字段,通過 X-Forwarded-Proto 獲取監聽器的協議。
- 附加 HTTP HOST:HTTP 監聽器支持附加 HTTP header 字段,通過 Host 附加 HOST 域名至 HTTP 請求中,用于適配需要檢測 HTTP 頭 HOST 字段的業務。
- 監控數據:負載均衡級別提供每秒連接數、每秒出/入流量、每秒出/入包數量的監控及告警;VServer 級別提供連接數、HTTP 2XX、HTTP 3XX、HTTP 4XX、HTTP 5XX 等監控數據及告警。
- 安全控制:通過安全組對外網負載均衡的訪問進行安全管控,僅允許安全組規則內的流量透傳負載均衡到達后端真實服務器,保證業務負載的安全性。
負載均衡為用戶提供業務級別的高可用方案,可以將業務應用同時部署至多個虛擬機中,通過負載均衡和 DNS 域名的方案設置流量均衡轉發,實現多業務級別的流量負載均衡。當大并發流量通過負載均衡訪問虛擬機業務時,可通過最小連接數、加權輪詢等算法,將請求轉發給后端最健壯的虛擬機進行處理,請通過負載均衡將請求結果返回給客戶端,保證業務可用性和可靠性。
用戶可通過智能 DNS 服務,將兩個數據中心的負載均衡實例同時綁定至一個域名,使用 DNS 實現跨數據中心的業務容災方案。
- 資源隔離負載均衡具有數據中心屬性,不同數據中心間負載均衡資源物理隔離;負載均衡資源在租戶間相互隔離,租戶可查看并管理賬號及子賬號下所有負載均衡資源;一個租戶內的負載均衡資源,僅支持綁定租戶內同數據中心的 VPC 子網資源;一個租戶內的負載均衡資源,僅支持綁定租戶內同數據中心的外網 IP 資源;一個租戶內的負載均衡資源,僅支持綁定租戶內同數據中心的安全組資源。
- 網絡隔離不同數據中心間負載均衡資源網絡相互物理隔離;同數據中心負載均衡網絡采用 VPC 進行隔離,不同 VPC 的負載均衡資源無法相互通信;負載均衡綁定的外網 IP 網絡隔離取決于用戶物理網絡的配置,如不同的 Vlan 等。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/125817.html