每個伺服器組均用於將用戶端的請求路由至一個或多個後端伺服器。ALB會通過健全狀態檢查來判斷後端伺服器的業務可用性。在為ALB執行個體添加監聽時您需要指定伺服器組,監聽會使用已配置的協議和連接埠檢查用戶端的串連請求,並將流量轉寄至相應的伺服器組。
ALB伺服器組分類及說明
建立ALB伺服器組及添加後端伺服器的操作,請參見建立和管理伺服器組。
伺服器群組類型 | 後端伺服器類型 | 說明 | 參考 |
伺服器類型 | 該類型伺服器組支援添加ECS、ENI、ECI執行個體作為後端服務。 | 添加的雲端服務器需與伺服器組所屬同一VPC。雲端服務器作為後端服務,接收來自ALB轉寄的請求。 | 關於ECS作為後端服務的教程,請參見: |
IP類型 | 該類型伺服器組支援添加IP地址作為後端服務。 |
| 關於跨域掛載的使用限制及相關教程,請參見: |
Function Compute類型 | 該類型伺服器組支援添加Function Compute作為後端服務。 | 需開通Function Compute服務,且Function Compute和ALB執行個體屬於同一地區。 | 關於Function Compute作為後端服務的教程,請參見ALB添加Function ComputeFC作為後端服務。 |
ALB執行個體的後端伺服器被釋放或私人IP地址被修改後,ALB不會聯動更新後端伺服器。建議您在釋放或修改ALB後端伺服器時,先在ALB伺服器組中移除該後端伺服器,確保不影響業務。
調度演算法
ALB支援的調度演算法如下。詳細調度演算法邏輯請參見負載平衡調度演算法介紹。
加權輪詢:權重值越高的後端伺服器,被輪詢到的次數(機率)也越高。
加權最小串連數:除了根據每台後端伺服器設定的權重值來進行輪詢,同時還考慮後端伺服器的實際負載(即串連數)。當權重值相同時,當前串連數越小的後端伺服器被輪詢到的次數(機率)也越高。
一致性雜湊:相同的源地址會調度到相同的後端伺服器。
選擇雜湊因子:選擇一種雜湊因子。
源IP:相同的源IP地址會調度到相同的後端伺服器。
URL參數:相同的URL參數會調度到相同的後端伺服器。請輸入指定URL參數。
配置ALB後端協議與健全狀態檢查協議
下表總結了ALB不同監聽協議下後端伺服器及健全狀態檢查協議的支援情況。
監聽協議 | 伺服器組後端協議 | 伺服器群組類型 | 健全狀態檢查協議 |
HTTP | HTTP、HTTPS | 伺服器類型、IP類型、Function Compute類型 說明 Function Compute的伺服器群組類型,無需配置後端協議和健全狀態檢查協議。 | HTTP、HTTPS、TCP、gRPC 說明 標準版及以上版本的ALB執行個體支援配置HTTPS健全狀態檢查協議,基礎版ALB執行個體不支援。 |
HTTPS | HTTP、HTTPS、gRPC 說明
| ||
QUIC | HTTP |
健全狀態檢查
您可以配置健全狀態檢查來檢查伺服器組的健全狀態,從而判斷伺服器的業務可用性。
ALB支援基於每個伺服器組定義ALB執行個體的健全狀態檢查配置。每個伺服器組預設開啟健全狀態檢查。
在開啟健全狀態檢查時,預設情況下,ALB會自動將用戶端請求路由至健全狀態檢查狀態正常的伺服器,並將持續對該伺服器組的所有後端伺服器的健全狀態進行監控。伺服器必須通過連續n次的健全狀態檢查才會被視為正常(n為配置的健全狀態檢查健康閾值,多次健全狀態檢查是為了避免網路抖動的影響)。
當某台後端伺服器健全狀態檢查出現異常時,ALB會自動將新的請求分發到其他健全狀態檢查正常的後端伺服器。
當該伺服器恢複正常運行時,ALB會將其自動回復到負載平衡服務中。
健全狀態檢查為短串連,完成健全狀態檢查後串連將關閉。
如果後端伺服器權重設定為0,該伺服器不會參與健全狀態檢查。
如果同一個伺服器組中僅包含健全狀態檢查異常的伺服器時,ALB仍會嘗試根據調度演算法將請求路由至這些伺服器,而不考慮這些伺服器的健全狀態,以最大可能避免您的業務受損。更多資訊,請參見同一個伺服器組的所有後端伺服器健全狀態檢查均異常時,ALB如何轉寄請求?。
更多資訊,請參見健全狀態檢查。
會話保持
預設情況下,ALB會將每個用戶端請求分別分發至不同的後端伺服器上。當您開啟了會話保持功能後,會話保持可以使來自同一用戶端的請求被轉寄至同一台後端伺服器上,方便後端伺服器維護狀態資訊及向用戶端提供持續體驗。
未開啟會話保持:同一用戶端的請求通過ALB可能會被分發至不同的後端伺服器,在某些情境下,如登入後端伺服器擷取互動資訊等情境,用戶端的請求可能需重新登入後端伺服器。
開啟會話保持:同一用戶端的請求通過ALB被分配至同一台後端伺服器,而非分配至不同的後端伺服器,在某些情境下,如登入後端伺服器擷取互動資訊等情境,避免了用戶端的請求需要重新登入後端伺服器。
Function Compute類型的伺服器組不支援配置會話保持。
更多資訊,請參見ALB配置會話保持。
後端長串連
當開啟後端長串連後,ALB到後端伺服器之間會維持一定數量的TCP長串連,當新請求到達時,如果有閒置TCP長串連,ALB優先使用TCP長串連轉寄請求到後端伺服器,從而減少TCP握手建連次數,減輕後端伺服器壓力。
Function Compute類型的伺服器組不支援配置後端長串連。
更多資訊,請參見建立伺服器組。
跨AZ負載平衡
ALB預設開啟跨AZ負載平衡,即ALB在同地區跨可用性區域的後端服務之間分配流量。當ALB掛載的伺服器組關閉跨AZ負載平衡時,ALB僅在同地區同可用性區域的後端服務之間分配流量。
僅標準版、WAF增強版ALB執行個體支援關閉跨AZ負載平衡,基礎版ALB不支援。
關閉跨AZ負載平衡時,不支援開啟會話保持。
開啟遠端IP的IP類型伺服器組,不支援關閉跨AZ負載平衡。
Function Compute類型的伺服器組無需配置該參數。