


摘要:為解決在某些場景中前端CDN、局域網、客戶端集中NAT出口IP等多人來訪時,出現IP訪問傾斜、丟失和負載不均衡等問題,通過研究Nginx系統的原理與實現方法,結合Web應用中的Cookie保持會話機制,提出了基于Nginx和sticky模塊實現的cookie負載均衡方案。實驗結果表明,基于sticky cookie實現可有效解決IP傾斜、丟失和負載不均衡等問題,同時在多人來訪、用戶量高并發的情況下,能夠維持每個會話持久性、一致性和服務器壓力均衡性。特別是在應用類集群環境共享狀態信息下,Sticky cookie會話保持算法仍有助于提高性能。
關鍵詞:Nginx;負載均衡; Cookie;Session;Sticky
中圖分類號:TP308;TP333 文獻標識碼:A
文章編號:1009-3044(2024)19-0097-04
0 引言
隨著校園網內用戶數量和業務量呈指數級的不斷增長,特別是Web應用類,面臨著訪問者數量快速增加的挑戰。即便使用高性能的硬件配比,當遇到請求具有突發性時,網絡、CPU、I/O等處理能力會急劇上升達到一定的瓶頸。單臺服務器的整體性能總是有限的,一臺服務器所能提供的并發訪問處理能力大約為1 000~5 000個。
目前在Web應用類環境中,client與server建立鏈接有幾種狀態:服務請求無狀態保持、服務請求有狀態保持、保持用戶會話一致性、保持連接一致性。實際校園Web應用環境中,大多數是基于有狀態、保持用戶會話一致性的鏈接,比如:學生選課、評教、錄取、成績查詢等Web業務。為了滿足這種高并發[1]、突發性的需求,同時徹底解決在某些場景中出現IP訪問傾斜、丟失、負載不均衡問題,本文提出了基于Nginx+sticky實現cookie負載均衡的建設方案,選用多臺服務器(節點)共同處理用戶請求,并采取一系列策略和技術來應對,以提高系統的高流量、可用性、可擴展性和容錯性?!?br>