應用場景
在大多數電子商務的應用系統或者需要進行用戶身份認證的在線系統中,一個客戶與服務器經常經過好幾次的交互過程才能完成一筆交易。由于這幾次交互過程是密切相關的,服務器在進行這些交互過程的某一個交互步驟時,往往需要了解上一次交互過程的處理結果,或者上幾步的交互過程結果,所以這就要求這些相關的交互過程都由一臺服務器完成,而不能被負載均衡器分散到不同的服務器上,此時就需要相應的會話保持策略來保證相關的請求始終被負載到后端的一臺服務器。
通過會話保持,Web應用程序可以跟蹤用戶的狀態和數據,并提供個性化的體驗,而不必在每個請求中重新驗證用戶或重建狀態。
會話保持原理分析
針對于不同資源池負載均衡會話保持方式的名稱和行為略有差異,例如主備模式資源池,會話保持的名稱和行為如下:
主備、集群模式資源池列表見產品簡介-產品類型和規格,實際情況以控制臺展現為準。
HTTP_COOKIE
在HTTP_COOKIE方式下,ELB負責在HTTP響應頭插入會話保持cookie,后端服務器無需做任何修改。當客戶首次請求時,ELB選擇后端一臺服務器轉發,在后端服務器回復HTTP響應頭時,ELB插入會話保持cookie,該cookie的值為后端服務器SERVERID。在cookie有效期內,后續客戶端請求都攜帶會話保持cookie,ELB根據該cookie的值將請求轉發給同一后端服務器處理。


APP_COOKIE
在APP_COOKIE方式下,后端服務器負責在HTTP響應頭插入會話保持cookie,ELB只對cookie做記錄和透傳。當客戶首次請求時,ELB選擇后端一臺服務器轉發,在后端服務器回復HTTP響應頭時,ELB記錄下會話保持cookie的值與后端服務器的關聯關系,將該cookie透傳給客戶端。在cookie有效期內,后續客戶端請求都攜帶會話保持cookie,ELB根據該cookie的值與后端服務器的關聯關系,將請求轉發給同一后端服務器處理。相比于HTTP_COOKIE, APP_COOKIE由后端服務器決定是否會話保持,適用于需要后端控制的復雜業務場景。

SOURCE_IP
根據收到請求的客戶端源IP地址信息,ELB將相同源IP地址的流量分發到相同的后端服務器上。

天翼云集群模式資源池適用于以下規則:
主備、集群模式資源池列表見產品簡介-產品類型和規格,實際情況以控制臺展現為準。
植入COOKIE
原理與以上的HTTP_COOKIE相同。
重寫COOKIE
在重寫Cookie方式下,后端服務器負責在HTTP響應頭插入會話保持cookie,ELB對cookie做改寫。當客戶首次請求時,ELB選擇后端一臺服務器轉發,在后端服務器回復HTTP響應頭時,ELB將會話保持cookie的值改寫為后端服務器的SERVERID。在cookie有效期內,后續客戶端請求都攜帶會話保持cookie,ELB根據該cookie的值將請求轉發給同一后端服務器處理。相比于植入Cookie, 重寫Cookie由后端服務器決定是否會話保持,適用于需要后端控制的復雜業務場景。
SOURCE_IP
根據收到請求的客戶端源IP地址信息,ELB將相同源IP地址的流量分發到相同的后端服務器上。


使用說明
當后端主機返回的請求狀態碼為4xx或5xx時,彈性負載均衡不會進行植入或重寫cookie。
前提條件
- 您已在所在可用區創建VPC,并創建業務主機,完成服務配置。
- 您已創建負載均衡實例。
操作步驟
- 登錄天翼云控制中心,選擇資源節點;本文我們選擇的是華東-華東1。
- 在控制中心頁面,依次選擇“網絡 > 彈性負載均衡”。
- 在負載均衡頁面,點擊“ELB實例名稱”,進入詳情頁面。
- 在監聽器頁簽,點擊“添加監聽器”按鈕,創建監聽器。

- 在監聽器創建頁面填寫監聽器名稱,設置負載均衡器協議/端口等參數信息,完成后點擊“下一步”。

- 創建后端主機組,選擇后端云主機,添加到后端主機組,添加完成點擊“下一步”。
- 在“負載均衡&健康檢查”配置頁面,找到“會話保持方式”,點擊下拉框便可以選擇不同的會話保持類型。在實際業務中,您可以根據具體情況進行會話方式的選擇,最后完成負載方式、健康檢查等其它配置。

- 點擊“立即創建”完成配置并創建監聽器。