Java集羣之session共享解決方案

隨着互聯網的日益壯大,網站的pv和uv成線性或者指數倍的增加.單服務器單數據庫早已經不能滿足實際需求.比如像盛大,淘寶這樣的大型網絡公司,更是如此.
    集羣,也就是讓一組計算機服務器協同工作,達解決大併發,大數據量瓶頸問題.但是在羣集中,session往往是一個比餃頭疼的問題.一般情況下,session不可跨服務器而存在.下面給出幾種session共享的解決方案.
    第一種,客戶端解決方法.把session加密後存在cookie中,每次session信息被寫在客服端,然後經瀏覽器再次提交到服務器.即使兩次請求在集羣中的兩臺服務器上完成,也可以到達session共享.這種解決方法的優點是session信息不用存放在服務器端,大大減輕了服務器的壓力.另一個優點是一個session中的兩次或多次請求可以在一個羣集中的多個服務器上完成,可以避免單端故障.目前,淘寶是採用的這種解決方案.
   第二種,提供一個羣集保存session共享信息.其他應用統統把自己的session信息存放到session羣集服務器組.當應用系統需要session信息的時候直接到session羣集服務器上讀取.這種方式具有第一種方式的第二個優點.
   第三種,配置負載均衡服務器,典型有F5等.它會記住用戶的訪問。比如用戶第一次訪問了羣集中A節點,當用戶第二次訪問時,它也會把用戶請求分發到節點A,此特性稱爲會話自粘型。
   開發人員可以根據自己的實際情況選擇適合自己的session共享方式.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章