多臺(tái)服務(wù)器共享session問題

      網(wǎng)友投稿 618 2025-04-02

      在現(xiàn)在的大型網(wǎng)站中,如何實(shí)現(xiàn)多臺(tái)服務(wù)器中的Session數(shù)據(jù)共享呢

      當(dāng)使用多臺(tái)服務(wù)器架設(shè)成集群之后,我們通過負(fù)載均衡的方式,同一個(gè)用戶(或者ip)訪問時(shí)被分配到不同的服務(wù)器上,假設(shè)在A服務(wù)器登錄,如果在B服務(wù)器拿不到用戶的登錄信息Session。這時(shí)訪問到B服務(wù)器時(shí)就出現(xiàn)未登錄情況。

      所以如何對(duì)于這種情況做到共享session至關(guān)重要。

      以下給出一些解決方案:(來源網(wǎng)絡(luò)以及自己的一些見解)

      1.通過數(shù)據(jù)庫mysql共享session

      a.采用一臺(tái)專門的mysql服務(wù)器來存儲(chǔ)所有的session信息。

      用戶訪問隨機(jī)的web服務(wù)器時(shí),會(huì)去這個(gè)專門的數(shù)據(jù)庫服務(wù)器check一下session的情況,以達(dá)到session同步的目的。

      缺點(diǎn)就是:依懶性太強(qiáng),mysql服務(wù)器無法工作,影響整個(gè)系統(tǒng);

      b.將存放session的數(shù)據(jù)表與業(yè)務(wù)的數(shù)據(jù)表放在同一個(gè)庫。如果mysql做了主從,需要每一個(gè)庫都需要存在這個(gè)表,并且需要數(shù)據(jù)實(shí)時(shí)同步。

      缺點(diǎn):用數(shù)據(jù)庫來同步session,會(huì)加大數(shù)據(jù)庫的負(fù)擔(dān),數(shù)據(jù)庫本來就是容易產(chǎn)生瓶頸的地方,如果把session還放到數(shù)據(jù)庫里面,無疑是雪上加霜。上面的二種方法,第一點(diǎn)方法較好,把放session的表獨(dú)立開來,減輕了真正數(shù)據(jù)庫的負(fù)擔(dān) 。但是session一般的查詢頻率較高,放在數(shù)據(jù)庫中查詢性能也不是很好,不推薦使用這種方式。

      2.通過cookie共享session

      把用戶訪問頁面產(chǎn)生的session放到cookie里面,就是以cookie為中轉(zhuǎn)站。

      當(dāng)訪問服務(wù)器A時(shí),登錄成功之后將產(chǎn)生的session信息存放在cookie中;當(dāng)訪問請(qǐng)求分配到服務(wù)器B時(shí),服務(wù)器B先判斷服務(wù)器有沒有這個(gè)session,如果沒有,在去看看客戶端的cookie里面有沒有這個(gè)session,如果cookie里面有,就把cookie里面的sessoin同步到web服務(wù)器B,這樣就可以實(shí)現(xiàn)session的同步了。

      缺點(diǎn):cookie的安全性不高,容易偽造、客戶端禁止使用cookie等都可能造成無法共享session。

      3.通過服務(wù)器之間的數(shù)據(jù)同步session

      使用一臺(tái)作為用戶的登錄服務(wù)器,當(dāng)用戶登錄成功之后,會(huì)將session寫到當(dāng)前服務(wù)器上,我們通過腳本或者守護(hù)進(jìn)程將session同步到其他服務(wù)器上,這時(shí)當(dāng)用戶跳轉(zhuǎn)到其他服務(wù)器,session一致,也就不用再次登錄。

      缺陷:速度慢,同步session有延遲性,可能導(dǎo)致跳轉(zhuǎn)服務(wù)器之后,session未同步。而且單向同步時(shí),登錄服務(wù)器宕機(jī),整個(gè)系統(tǒng)都不能正常運(yùn)行。

      4.通過NFS共享Session

      選擇一臺(tái)公共的NFS服務(wù)器(Network File Server)做共享服務(wù)器,所有的Web服務(wù)器登陸的時(shí)候把session數(shù)據(jù)寫到這臺(tái)服務(wù)器上,那么所有的session數(shù)據(jù)其實(shí)都是保存在這臺(tái)NFS服務(wù)器上的,不論用戶訪問那太Web服務(wù)器,都要來這臺(tái)服務(wù)器獲取session數(shù)據(jù),那么就能夠?qū)崿F(xiàn)共享session數(shù)據(jù)了。

      缺點(diǎn):依賴性太強(qiáng),如果NFS服務(wù)器down掉了,那么大家都無法工作了,當(dāng)然,可以考慮多臺(tái)NFS服務(wù)器同步的形式。

      5.通過memcache同步session

      memcache可以做分布式,如果沒有這功能,他也不能用來做session同步。他可以把web服務(wù)器中的內(nèi)存組合起來,成為一個(gè)"內(nèi)存池",不管是哪個(gè)服務(wù)器產(chǎn)生的sessoin都可以放到這個(gè)"內(nèi)存池"中,其他的都可以使用。

      優(yōu)點(diǎn):以這種方式來同步session,不會(huì)加大數(shù)據(jù)庫的負(fù)擔(dān),并且安全性比用cookie大大的提高,把session放到內(nèi)存里面,比從文件中讀取要快很多。

      多臺(tái)服務(wù)器共享session問題

      缺點(diǎn):memcache把內(nèi)存分成很多種規(guī)格的存儲(chǔ)塊,有塊就有大小,這種方式也就決定了,memcache不能完全利用內(nèi)存,會(huì)產(chǎn)生內(nèi)存碎片,如果存儲(chǔ)塊不足,還會(huì)產(chǎn)生內(nèi)存溢出。

      6.通過redis共享session

      redis與memcache一樣,都是將數(shù)據(jù)放在內(nèi)存中。區(qū)別的是redis會(huì)周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎(chǔ)上實(shí)現(xiàn)了master-slave(主從)同步。

      根據(jù)實(shí)際開發(fā)應(yīng)用,一般選擇使用memcache或redis方式來共享session.

      MySQL Redis 數(shù)據(jù)庫

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:進(jìn)銷存是否包含庫存管理(4分鐘之前已更新)
      下一篇:甘特圖列計(jì)劃
      相關(guān)文章
      亚洲AV综合色区无码二区偷拍 | 亚洲视频一区二区三区四区| 亚洲国产第一站精品蜜芽| 久久久久一级精品亚洲国产成人综合AV区| 亚洲人成人网站18禁| 亚洲色最新高清av网站| 67194在线午夜亚洲| 亚洲中文字幕AV在天堂| 亚洲人成电影网站久久| 亚洲欧美中文日韩视频| 亚洲精品无码日韩国产不卡av| 亚洲精品天堂成人片AV在线播放| 亚洲人av高清无码| 久久亚洲中文字幕无码| 青青青国产色视频在线观看国产亚洲欧洲国产综合 | 亚洲国产成人久久一区久久| 亚洲AⅤ永久无码精品AA | 亚洲国产黄在线观看| 久久久久无码专区亚洲av | 狠狠色伊人亚洲综合网站色| 亚洲s码欧洲m码吹潮| 亚洲av麻豆aⅴ无码电影| 亚洲人成国产精品无码| 国产亚洲日韩一区二区三区| 国产精品亚洲片在线观看不卡| 亚洲AV午夜福利精品一区二区| 久久久婷婷五月亚洲97号色| 亚洲一卡二卡三卡| 亚洲一线产品二线产品| 美国毛片亚洲社区在线观看| 亚洲国产精品丝袜在线观看| 亚洲综合网站色欲色欲| 亚洲AV无码久久精品蜜桃| 久久精品国产亚洲av影院| 亚洲三级视频在线| 亚洲精品久久无码av片俺去也| www国产亚洲精品久久久| 亚洲人成伊人成综合网久久久| 亚洲国产第一页www| 亚洲伊人久久大香线蕉啊| 亚洲日本VA午夜在线影院|