多Web服務(wù)器之間共享Session的解決方案

很多開發(fā)中涉及到用戶的Session驗證很保留的問題膘魄,這個問題比較有意思崖技,總結(jié)了幾種方案,只供參考支子。

[? 問題提出 ]

為了滿足足夠大的應(yīng)用创肥,滿足更多的客戶,于是我們架設(shè)了N臺Web服務(wù)器(N>=2)值朋,在多臺Web服務(wù)器的情況下瓤的,我們會涉及到一個問題:用戶登陸一臺服務(wù)器以后,如果在跨越到另一臺服務(wù)器的時候能夠繼續(xù)使用客戶的Session吞歼?

(以下描述方案只是針對Linux/Unix + Apache + Mysql + PHP的開發(fā)架構(gòu)圈膏,當(dāng)然,也可以擴展到其他平臺篙骡。)

[? 問題解決方案 ]

既然我們的問題已經(jīng)擺在面前了稽坤,那么就要從技術(shù)角度去解決問題,給我們的客戶更好的體驗糯俗,總結(jié)了幾個方案尿褪。

1. 寫客戶端Cookie的方式

當(dāng) 用戶登陸成功以后,把網(wǎng)站域名得湘、用戶名杖玲、密碼、token淘正、session有效時間全部采用cookie的形式寫入到客戶端的cookie里面摆马,如果用戶 從一臺Web服務(wù)器跨越到另一臺服務(wù)器的時候,我們的程序主動去檢測客戶端的cookie信息鸿吆,進(jìn)行判斷囤采,然后提供對應(yīng)的服務(wù),當(dāng)然惩淳,如果cookie過 期蕉毯,或者無效,自然就不讓用戶繼續(xù)服務(wù)了。當(dāng)然代虾,這種方法的弊端就不言而喻了进肯,比如客戶端禁用了cookie或者cookie被黑客竊取了呢?

2. 服務(wù)器之間Session數(shù)據(jù)同步的方式

假 設(shè)Web服務(wù)器A是所有用戶登陸的服務(wù)器棉磨,那么當(dāng)用戶驗證登陸一下坷澡,session數(shù)據(jù)就會寫到A服務(wù)器里,那么就可以自己寫腳本或者守護(hù)進(jìn)程來自動把 session數(shù)據(jù)同步到其他Web服務(wù)器含蓉,那么當(dāng)用戶跳轉(zhuǎn)到其他服務(wù)器的時候频敛,那么session數(shù)據(jù)是一致的,自然就能夠直接進(jìn)行服務(wù)無須再次登陸 了馅扣。缺點是斟赚,可能會速度慢,不穩(wěn)定差油,如果是單向同步的話拗军,登陸服務(wù)器出現(xiàn)問題,那么其他服務(wù)器也無法服務(wù)蓄喇,當(dāng)然也可以考慮雙向同步的問題发侵。

3. 利用NFS共享Session數(shù)據(jù)的方式

其 實這個方案和下面的Mysql方案類似,只是存儲方式不一樣妆偏。大致就是有一臺公共的NFS服務(wù)器(Network File Server)做共享服務(wù)器刃鳄,所有的Web服務(wù)器登陸的時候把session數(shù)據(jù)寫到這臺服務(wù)器上,那么所有的session數(shù)據(jù)其實都是保存在這臺 NFS服務(wù)器上的钱骂,不論用戶訪問那太Web服務(wù)器叔锐,都要來這臺服務(wù)器獲取session數(shù)據(jù),那么就能夠?qū)崿F(xiàn)共享session數(shù)據(jù)了见秽。缺點是依賴性太 強愉烙,如果NFS服務(wù)器down掉了,那么大家都無法工作了解取,當(dāng)然步责,可以考慮多臺NFS服務(wù)器同步的形式。

(關(guān)于NFS的經(jīng)典文章:http://linux.vbird.org/linux_server/0330nfs.php

4. 利用Mysql數(shù)據(jù)庫共享Session數(shù)據(jù)的方式

這 個方式與NFS的方式類似禀苦,也是采用一臺Mysql服務(wù)器做共享服務(wù)器蔓肯,把所有的session的數(shù)據(jù)保存到Mysql服務(wù)器上,所有Web服務(wù)器都來這 臺Mysql服務(wù)器來獲取Session數(shù)據(jù)伦忠。缺點也是依賴性太強省核,Mysql無法工作了影響所有的Web服務(wù)器,當(dāng)然昆码,可以考慮多太Mysql數(shù)據(jù)庫來 共享session,使用同步Mysql數(shù)據(jù)的方式。

(Mysql同步我寫過文章:http://blog.csdn.net/heiyeshuwu/archive/2005/10/31/520007.aspx

5. 使用硬件設(shè)備

這 個算是比較成熟的解決方案了赋咽,使用類似BIG-IP的負(fù)載設(shè)備來實現(xiàn)資源共享旧噪,那么就能夠又穩(wěn)定又合理的的共享Session了。目前很多門戶網(wǎng)站采用這 種方式脓匿。缺點很明顯了淘钟,就是要收費了,硬件設(shè)備肯定需要購買成本的陪毡,不過對于專業(yè)或者大型應(yīng)用來講米母,是比較合理并且值得的。

(關(guān)于BIG-IP設(shè)備:http://www.f5.com.cn/channel.php?channel=product&type=BIG-IP-%D3%A6%D3%C3%C1%F7%C1%BF%B9%DC%C0%ED&id=36

以上這些只是我的個人愚見毡琉,沒有經(jīng)過試驗铁瞒,不保證其準(zhǔn)確實在性,只是提供一種想法和參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末桅滋,一起剝皮案震驚了整個濱河市慧耍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌丐谋,老刑警劉巖芍碧,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異号俐,居然都是意外死亡泌豆,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門吏饿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來践美,“玉大人,你說我怎么就攤上這事找岖≡沙” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵许布,是天一觀的道長兴革。 經(jīng)常有香客問我,道長蜜唾,這世上最難降的妖魔是什么杂曲? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮袁余,結(jié)果婚禮上擎勘,老公的妹妹穿的比我還像新娘。我一直安慰自己颖榜,他們只是感情好棚饵,可當(dāng)我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布煤裙。 她就那樣靜靜地躺著,像睡著了一般噪漾。 火紅的嫁衣襯著肌膚如雪硼砰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天欣硼,我揣著相機與錄音题翰,去河邊找鬼。 笑死诈胜,一個胖子當(dāng)著我的面吹牛豹障,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播焦匈,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼血公,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了括授?” 一聲冷哼從身側(cè)響起坞笙,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎荚虚,沒想到半個月后薛夜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡版述,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年梯澜,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渴析。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡晚伙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出俭茧,到底是詐尸還是另有隱情咆疗,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布母债,位于F島的核電站午磁,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏毡们。R本人自食惡果不足惜迅皇,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望衙熔。 院中可真熱鬧登颓,春花似錦、人聲如沸红氯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至扁耐,卻和暖如春暇检,著一層夾襖步出監(jiān)牢的瞬間产阱,已是汗流浹背婉称。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留构蹬,地道東北人王暗。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像庄敛,于是被迫代替她去往敵國和親俗壹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容