web服務(wù)器集群(多臺(tái)web服務(wù)器)session同步、共享的3種解決方法

2022-10-07    分類: 網(wǎng)站建設(shè)

web服務(wù)器集群(多臺(tái)web服務(wù)器)session同步、共享的3種解決方法

在做了web集群后,你肯定會(huì)首先考慮session同步問題,因?yàn)橥ㄟ^負(fù)載均衡后,同一個(gè)IP訪問同一個(gè)頁(yè)面會(huì)被分配到不同的服務(wù)器上,如果session不同步的話,一個(gè)登錄用戶,一會(huì)是登錄狀態(tài),一會(huì)又不是登錄狀態(tài)。所以本文就根據(jù)這種情況給出三種不同的方法來解決這個(gè)問題:

一、利用數(shù)據(jù)庫(kù)同步session

在做多服務(wù)器session同步時(shí)我沒有用這種方法,如果非要用這種方法的話,我想過二種方法:

1,用一個(gè)低端電腦建個(gè)數(shù)據(jù)庫(kù)專門存放web服務(wù)器的session,或者,把這個(gè)專門的數(shù)據(jù)庫(kù)建在文件服務(wù)器上,用戶訪問web服務(wù)器時(shí),會(huì)去這個(gè)專門的數(shù)據(jù)庫(kù)check一下session的情況,以達(dá)到session同步的目的。

2,這種方法是把存放session的表和其他數(shù)據(jù)庫(kù)表放在一起,如果mysql也做了集群了話,每個(gè)mysql節(jié)點(diǎn)都要有這張表,并且這張session表的數(shù)據(jù)表要實(shí)時(shí)同步。

說明:用數(shù)據(jù)庫(kù)來同步session,會(huì)加大數(shù)據(jù)庫(kù)的負(fù)擔(dān),數(shù)據(jù)庫(kù)本來就是容易產(chǎn)生瓶頸的地方,如果把session還放到數(shù)據(jù)庫(kù)里面,無疑是雪上加霜。上面的二種方法,第一點(diǎn)方法較好,把放session的表獨(dú)立開來,減輕了真正數(shù)據(jù)庫(kù)的負(fù)擔(dān)

二、利用cookie同步session

session是文件的形勢(shì)存放在服務(wù)器端的,cookie是文件的形勢(shì)存在客戶端的,怎么實(shí)現(xiàn)同步呢?方法很簡(jiǎn)單,就是把用戶訪問頁(yè)面產(chǎn)生的session放到cookie里面,就是以cookie為中轉(zhuǎn)站。你訪問web服務(wù)器A,產(chǎn)生了session把它放到cookie里面了,你訪問被分配到web服務(wù)器B,這個(gè)時(shí)候,web服務(wù)器B先判斷服務(wù)器有沒有這個(gè)session,如果沒有,在去看看客戶端的cookie里面有沒有這個(gè)session,如果也沒有,說明session真的不存,如果cookie里面有,就把cookie里面的sessoin同步到web服務(wù)器B,這樣就可以實(shí)現(xiàn)session的同步了。

說明:這種方法實(shí)現(xiàn)起來簡(jiǎn)單,方便,也不會(huì)加大數(shù)據(jù)庫(kù)的負(fù)擔(dān),但是如果客戶端把cookie禁掉了的話,那么session就無從同步了,這樣會(huì)給網(wǎng)站帶來?yè)p失;cookie的安全性不高,雖然它已經(jīng)加了密,但是還是可以偽造的。

三、利用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ù)庫(kù)的負(fù)擔(dān),并且安全性比用cookie大大的提高,把session放到內(nèi)存里面,比從文件中讀取要快很多。

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

四、總結(jié)

上面三種方法都是可行的

第一種方法,最影響系統(tǒng)速度的那種,不推薦使用;

第二種方法,效果不錯(cuò),不過安全隱患一樣的存在;

第三種方法,個(gè)人覺得第三種方法是最好的,推薦大家使用

本文題目:web服務(wù)器集群(多臺(tái)web服務(wù)器)session同步、共享的3種解決方法
文章網(wǎng)址:http://muchs.cn/news/203225.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、企業(yè)網(wǎng)站制作定制網(wǎng)站、營(yíng)銷型網(wǎng)站建設(shè)、建站公司用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)