本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為負載平衡器選擇黏性策略
瑞安格里芬,Amazon Web Services()AWS
2024 年 7 月 (文件歷史記錄)
S@@ tickiness 是一個術語,用來描述負載平衡器將流量從用戶端重複路由到單一目的地的功能,而不是平衡跨多個目的地的流量。例如,來自用戶端 A 的流量可以持續路由到特定伺服器,以便伺服器可以維護工作階段狀態資料。如果將來自用戶端 A 的流量路由到兩個不同的伺服器,則每部伺服器可能會遺漏另一部伺服器可用的重要資訊。
因此,通常需要透過負載平衡器維持一致的用戶端連線。粘性有兩種類型:粘性會話和目標群粘性。
-
黏滯工作階段 — 在 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體中維護本機工作階段資料,以簡化應用程式架構或改善應用程式效能,因為執行個體可在本機維護或快取工作階段狀態資訊。 AWS 目前提供兩種類型的黏性工作階段,本指南將詳細討論這些工作階段:應用程式 Cookie 和負載平衡器 Cookie。
-
目標群組黏著性 — 在藍/綠部署中,您可能已部署多個應用程式版本,而且您可能希望用戶端在工作階段期間繼續使用相同版本的應用程式。在這種情況下,您可以使用目標群組粘性將所有通訊從用戶端路由到相同的目標群組,而不是相同的 EC2 執行個體。
您可以單獨或一起使用這兩種粘性策略。
本指南說明不同類型的負載平衡器黏性和適用的使用案例,以協助您選擇策略。本指南包含說明每個策略的 AWS CloudFormation 範本。
範本程式碼
本指南提供附加的 .zip 檔案,其中包含四個 AWS CloudFormation 範本,您可以部署這些範本以建立基本架構並嘗試每種黏性策略。我們建議您在實驗室環境中部署這些範本,以測試每種方法。
下載檔案包含下列範本:
-
basic.yml
— 設置沒有粘性的 Application Load Balancer。 -
targetgroupstickiness.yml
— 根據目標群體展示粘性。 -
stickysessionslb.yml
— 使用負載平衡器產生的 Cookie 示範黏滯工作階段。 -
stickysessionsapp.yml
— 使用基於應用程序的 cookie 演示粘性會話。
若要部署這些範本,您將需要一個有效的:AWS 帳戶和AWS CloudFormation 主控台