負載均衡(Server Load Balancer,簡稱SLB)是一種根據轉發策略將流量分發到多臺后端服務器的服務。通過掛載多臺后端服務器的方式擴展系統的整體服務能力,同時消除系統單點故障以提高系統整體的可用性。負載均衡的虛擬服務地址(VIP)為負載均衡的服務地址,將多臺后端服務器虛擬成一個高性能服務。
負載均衡可分為公網負載均衡以及內網負載均衡。公網負載均衡會綁定彈性公網IP,公網的客戶端可以通過彈性公網IP來訪問負載均衡服務。內網負載均衡通過內網IP對內網負載均衡所屬VPC提供負載均衡服務。
產品優勢
- 可擴展
可以根據業務應用的負載進行擴容或者縮容,添加或者移除后端服務器組中的服務器來調整系統的能力。
- 高可用
配置多臺后端服務器,消除單點故障,保證業務的可用性。
- 多協議
根據不同的業務接入需求,可以選擇TCP/UDP/HTTP/HTTPS協議。
- 簡單易用
產品化部署SLB服務,根據不同的業務需求配置不同的負載均衡實例類型、監聽不同的協議和端口,以及配置后端服務器組,且所有配置實時生效。
應用場景
- 高業務量流量分發,針對業務量大的服務,通過購買負載均衡實例并配置對應轉發策略,以及添加多后端服務器,把業務分發到多后端服務器上。
- 消除單點故障,當一部分后端服務器不可用時,負載均衡通過健康檢查可自動屏蔽故障的后端服務器,保障應用系統正常工作。
- 全局負載均衡,結合智能DNS將域名解析到不同地域的SLB,可實現全局多地域的負載均衡,保障異地容災。
產品規格
新開通的負載均衡實例需要指定實例規格,實例規格會收取一定的費用。公網類型的負載均衡實例計費項包括實例規格和公網流量,內網類型的負載均衡實例僅對實例規格收費。舊的負載均衡實例未指定規格,不會收取實例規格費。
實例規格包括四層和七層指標,表示負載均衡實例性能上限值,最大連接數和新建連接數指標針對四層和七層有單獨的限制外,系統還會對同一個負載均衡實例下所有監聽器實例的最大連接數、新建連接數、每秒查詢數各指標性能的總和做限制,各項指標之和不允許超過實例規格的允許的最大上限。
例如,負載均衡實例A實例規格為小型I,創建了UDP監聽器a、TCP監聽器b、HTTP監聽器c、HTTPS監聽器d,監聽器a和監聽器b新建連接數上限總和為10000,監聽器c新建連接數上限為2000,監聽器d新建連接數上限為200,監聽器a、b、c、d新建連接數上限總和不能超過10000。
負載均衡實例規格列表:
| 實例名稱 | 規格 | 最大連接數(TCP/UDP) | 最大連接數(HTTP/HTTPS) | 新建連接數(CPS)(TCP/UDP) | 新建連接數(CPS)(HTTP) | 新建連接數(CPS)(HTTPS) | 每秒查詢數(QPS) | LCU(個) |
|---|---|---|---|---|---|---|---|---|
| slb.e1.small | 小型I | 500,000 | 200,000 | 10,000 | 2,000 | 200 | 4,000 | 10 |
| slb.e2.small | 小型II | 1,000,000 | 400,000 | 20,000 | 4,000 | 400 | 8,000 | 20 |
說明
最大連接數(Max Connection)(TCP/UDP):一個負載均衡實例所有TCP或UDP類型監聽器實例能夠承載的最大連接數量。當實例上的連接超過最大連接數時,新建連接請求將被丟棄。
最大連接數(Max Connection)(HTTP/HTTPS):一個負載均衡實例所有HTTP或HTTPS類型監聽器實例能夠承載的最大連接數量。當實例上的連接超過最大連接數時,新建連接請求將被丟棄。
每秒新建連接數CPS(Connection Per Second)(TCP/UDP):一個負載均衡實例所有TCP或UDP類型監聽器實例每秒新建連接的最大數量。當每秒新建連接的數量超過CPS,新建連接請求將被丟棄。
每秒新建連接數CPS(Connection Per Second)(HTTP):一個負載均衡實例所有HTTP類型監聽器實例每秒新建連接的最大數量。當每秒新建連接的數量超過CPS,新建連接請求將被丟棄。
每秒新建連接數CPS(Connection Per Second)(HTTPS):一個負載均衡實例所有HTTPS類型監聽器實例每秒新建連接的最大數量。當每秒新建連接的數量超過CPS,新建連接請求將被丟棄。
每秒查詢數QPS(Query Per Second):一個負載均衡實例所有七層類型監聽器實例每秒可以完成的HTTP或者HTTPS的查詢(請求)的數量。當請求速率超過每秒查詢數時,新建連接請求將被丟棄。
負載均衡的組件
- 負載均衡實例
負載均衡實例是承載負載均衡業務的實體,通過在負載均衡實例中添加監聽器和后端服務器組后才能使用負載均衡提供的服務。
按照網絡類型,負載均衡實例分為公網和內網負載均衡實例。
公網負載均衡實例 : 負責處理來自公網的訪問請求,其會綁定彈性公網IP地址。
內網負載均衡實例 :負責處理來自和負載均衡屬于同一個VPC內的訪問請求,其服務地址為VPC內的一個內網地址。
- 監聽器
監聽器負責監聽負載均衡上接收的請求,并根據轉發策略把請求分發到后端服務器組進行處理。監聽器需要配置對應的協議和端口,這些協議、端口以及負載均衡的VIP地址為提供服務的地址、協議和端口。監聽器支持四層(TCP或者UDP協議)和七層(HTTP或者HTTPS協議)協議,根據業務需求配置監聽器對應的協議以及端口。
監聽器類型說明:
| 協議類型 | 說明 | 適用場景 |
|---|---|---|
| TCP | 面向連接的、可靠的數據傳輸協議。 | 適用于對數據傳輸的準確性和可靠性較高的使用場景,如遠程登錄、web服務、文件傳輸等。 |
| UDP | 其為無連接的、可靠性低的傳輸協議。 | 適用于傳輸速度快、實時性要求高,但對數據準確性要求不高的使用場景,如視頻會議、在線游戲等。 |
| HTTP | 應用層協議,其支持基于Cookie的會話保持功能以及基于URL的轉發。 | 適用于對請求的數據內容進行識別的應用的使用場景,如web應用、APP等。 |
| HTTPS | 加密的應用層協議,可以防止未授權的數據訪問。 | 需要加密傳輸的web應用。 |
- 轉發策略
在負載均衡中監聽器協議為HTTP和HTTPS時,支持在已有監聽器轉發的基礎上添加轉發策略,轉發策略通過URL或域名匹配規則來把請求轉發至相應的后端服務器組,便于靈活的分流業務和合理的分配資源。URL匹配規則支持精確匹配、正則匹配和前綴匹配。
在對應的監聽器中添加了轉發策略后,負載均衡按照以下規則轉發前端請求:
- 優先匹配監聽器中的轉發策略,若能匹配,則對應請求轉發到該轉發策略對應的后端服務器組。
- 在監聽器下所有轉發策略都不能匹配的情況下,則按照監聽器配置的轉發規則把請求轉發到該監聽器對應的后端服務器組。
- 后端服務器組
在對應的負載均衡中配置監聽器或者對應七層監聽器的轉發策略時需要配置對應的后端服務器組,后端服務器組包括一個或者多個后端服務器,用于承載從監聽器轉發的流量請求,可以通過在后端服務器組中添加后端服務器來擴展負載均衡的處理能力。后端服務器組可以按需開啟健康檢查,其通過健康檢查的結果來判斷后端服務器的狀態是否正常,監聽器只會把請求轉發給結果為正常的后端服務器。同時后端服務器組中還可以根據每個后端服務器的不同處理能力來設置不同的權重,確保后端服務器得到最大的資源利用。
后端服務器組支持以下的分配策略:
| 分配策略 | 說明 |
|---|---|
| 加權輪詢 | 根據后端服務器不同的處理能力,按需為不同的后端服務器設置不同的權重,監聽器根據權重的高低以及輪詢的方式把請求轉發給后端服務器。 |
| 加權最少連接 | 通過當前每臺后端服務器的活躍連接數來估算對應的負載情況,同時再根據服務器的負載情況不同以及處理能力的不同,給后端服務器動態的分配權重。 |
| IP Hash | 首先通過一致性Hash算法對所有后端服務器進行編號,對請求中的源IP地址通過一致性Hash算法,根據得到的結果把請求分發到對應編號的服務器。其可以確保把長連接的請求發送到同一個后端服務器,確保業務的連續性。 |
使用限制
| 限制 | 說明 |
|---|---|
| 支持的協議 | 當前支持TCP/UDP/HTTP/HTTPS協議。 |
| 后端服務器組 | 后端服務器組只支持添加到一個監聽器。 |
| 后端服務器 | 當前支持的后端服務器為邊緣虛擬機。 |