真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

session多服務(wù)器共享的方案梳理-創(chuàng)新互聯(lián)

    實(shí)際上,session在php,.net,java等只要是后端語(yǔ)言都會(huì)用到。session的存儲(chǔ)機(jī)制,各種語(yǔ)言都大體差不多。我覺(jué)得這跟cookie在各個(gè)語(yǔ)言中都會(huì)用到差不多。.net,java我沒(méi)去了解過(guò)。但是存儲(chǔ)原理是差不多的。區(qū)別就是,php,java,.net調(diào)用的函數(shù),讀和取session數(shù)據(jù)的方式不同。默認(rèn)都是存儲(chǔ)在本地文件中的(不然怎么會(huì)涉及到session共享問(wèn)題呢,存儲(chǔ)在數(shù)據(jù)庫(kù)本身就可以實(shí)現(xiàn)共享的)。

十年的萬(wàn)州網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷(xiāo)推廣的優(yōu)勢(shì)是能夠根據(jù)用戶(hù)設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整萬(wàn)州建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“萬(wàn)州網(wǎng)站設(shè)計(jì)”,“萬(wàn)州網(wǎng)站推廣”以來(lái),每個(gè)客戶(hù)項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

    所以,無(wú)論是.net還是java都會(huì)涉及到session數(shù)據(jù)共享的問(wèn)題。

    其實(shí)我的理解是,session的原理都是一樣的。討論session共享方案設(shè)計(jì),是可以拋開(kāi)具體的語(yǔ)言去討論session共享方案設(shè)計(jì)。

目前業(yè)界解決session共享的幾種思路,我總結(jié)如下:

第一種辦法:把原來(lái)存儲(chǔ)在服務(wù)器磁盤(pán)上的session數(shù)據(jù)存儲(chǔ)到客戶(hù)端的cookie中去。

    這樣子,就不需要涉及到數(shù)據(jù)共享了。a客戶(hù)端請(qǐng)求的時(shí)候,原來(lái)生成在服務(wù)器的數(shù)據(jù)生成到瀏覽器的cookie中,根據(jù)cookie中的數(shù)據(jù)識(shí)別用戶(hù)。
    php由原來(lái)的”從本地(也就是服務(wù)器)磁盤(pán)上讀取session數(shù)據(jù)”轉(zhuǎn)變?yōu)椤睘g覽器的cookie中讀取數(shù)據(jù)”,

    這樣子,在多臺(tái)php服務(wù)器負(fù)載均衡的情況下,即便第一秒請(qǐng)求是a服務(wù)器,第二秒請(qǐng)求是b服務(wù)器,都不需要管哪臺(tái)服務(wù)器了。反正都是讀取客戶(hù)端上的cookie數(shù)據(jù)。

    一般是把session數(shù)據(jù)按照自己定義的加密規(guī)則,加密后后存在cookie中。

    數(shù)據(jù)保存在cookie中這種做法有好處,也有壞處。

    好處是服務(wù)器的壓力減小了,因?yàn)閟ession數(shù)據(jù)不存在服務(wù)器磁盤(pán)上。根本就不會(huì)出現(xiàn)session讀取不到的問(wèn)題。

    帶來(lái)的弊端是:

        網(wǎng)絡(luò)請(qǐng)求占用很多。每次請(qǐng)求時(shí),客戶(hù)端都要通過(guò)cookie發(fā)送session數(shù)據(jù)給服務(wù)器。

        另外,瀏覽器對(duì)cookie的大小存在限制。每個(gè)瀏覽器限制是不同的。

        Firefox和Safari允許cookie多達(dá)4097個(gè)字節(jié),包括名(name)、值(value)和等號(hào)。

        Opera允許cookie多達(dá)4096個(gè)字節(jié),包括:名(name)、值(value)和等號(hào)。

        Internet Explorer允許cookie多達(dá)4095個(gè)字節(jié),包括:名(name)、值(value)和等號(hào)。

    所以第一種方案不適合高訪問(wèn)量的情況下,因?yàn)楦咴L問(wèn)量的情況下,每次請(qǐng)求瀏覽器都要發(fā)送session數(shù)據(jù)給服務(wù)器。一般一個(gè)cookie大小2k的樣子。

    要占用很多帶寬了(服務(wù)器購(gòu)買(mǎi)帶寬是一個(gè)很大費(fèi)用),成本增高。歸納為帶寬性能,速度問(wèn)題。

    存儲(chǔ)到cookie中去,第二方面是安全問(wèn)題:把session數(shù)據(jù)放到客戶(hù)端,一般session中存的都是重要性數(shù)據(jù)(帳號(hào)、昵稱(chēng)、用戶(hù)id等),會(huì)存在安全問(wèn)題。

    了解到,淘寶以前用過(guò)這種方式,把session數(shù)據(jù)存儲(chǔ)到cookie中,根據(jù)cookie來(lái)識(shí)別用戶(hù)。

第二種思路:用一種算法(簡(jiǎn)單理解為規(guī)則),什么機(jī)制下session是保存在哪臺(tái)服務(wù)器下,那么讀取的時(shí)候就按照這種規(guī)則去讀取,就能定位到原來(lái)的服務(wù)器。叫做分發(fā)請(qǐng)求,分發(fā)到特定的服務(wù)器上去,我理解其原理是存session和讀session數(shù)據(jù)保證都在一臺(tái)服務(wù)器操作,就不會(huì)需要涉及到共享,具體實(shí)現(xiàn)方式是通過(guò)約定一種分發(fā)機(jī)制來(lái)實(shí)現(xiàn)。

    也叫做sticky模式(粘性會(huì)話模式),同一個(gè)用戶(hù)的訪問(wèn)請(qǐng)求都被派送到同一個(gè)服務(wù)器上。

    假設(shè)是同一個(gè)用戶(hù)user1,每次訪問(wèn)都路由到同一臺(tái)服務(wù)器上,這樣即便是在負(fù)載均衡的情況下,也能保證每次訪問(wèn)都能讀取到session,不需要做session數(shù)據(jù)共享了。

    關(guān)鍵多臺(tái)server的原因是為負(fù)載均衡而做的,那么就得把原來(lái)負(fù)載均衡的規(guī)則假設(shè)是—a,現(xiàn)在改為按照session來(lái)均衡分發(fā)請(qǐng)求的規(guī)則—b。

    如果這臺(tái)機(jī)子掛掉了,那么后續(xù)的請(qǐng)求按照session的規(guī)則還是會(huì)分發(fā)到這臺(tái)服務(wù)器上去,但是現(xiàn)在不可用了。

    本來(lái)負(fù)載均衡有一個(gè)目的就是:當(dāng)其中一臺(tái)機(jī)子不可用的時(shí)候,會(huì)自動(dòng)分發(fā)到可用的機(jī)子上去(自動(dòng)判斷現(xiàn)在要請(qǐng)求的機(jī)子是否可用)

    因?yàn)槟撤N規(guī)則的session都是保存在一臺(tái)服務(wù)器上,比如用戶(hù)編號(hào)是1-200涉及到的session數(shù)據(jù)保存到a服務(wù)器上去。所以只要一臺(tái)出問(wèn)題,1-200的用戶(hù)就無(wú)法實(shí)現(xiàn)登錄了。后面就不可用了(可能想到1-200用戶(hù)的session服務(wù)器用多臺(tái)進(jìn)行復(fù)制,這感覺(jué)很蹩腳,仍然需要用到復(fù)制的話,還不如用其他簡(jiǎn)便的方法)

第三種思路:做一個(gè)中間層,專(zhuān)門(mén)來(lái)存儲(chǔ)所有訪問(wèn)涉及到的session。也就是所有的session都存儲(chǔ)在這里。

    服務(wù)器端統(tǒng)一從這里讀取session數(shù)據(jù)。

    使用這種中間層的思想來(lái)實(shí)現(xiàn)共享,具體的技術(shù)方案,我歸納為以下幾種:

        1、 通過(guò)NFS文件共享的方式,多臺(tái)php服務(wù)器共享保存session文件的磁盤(pán)。

        2、保存在數(shù)據(jù)庫(kù)中,這種方式的擴(kuò)展性很強(qiáng),可以隨意增加WEB而不受影響。放在數(shù)據(jù)庫(kù)里面安全方面好。

    弊端

        放在數(shù)據(jù)庫(kù)里面,訪問(wèn)量小沒(méi)有問(wèn)題。大流量網(wǎng)站這么做,只會(huì)拖慢速度。因?yàn)榈貌樵?xún)數(shù)據(jù)庫(kù),造成數(shù)據(jù)庫(kù)壓力大。

        高并發(fā)訪問(wèn)的情況下,會(huì)出現(xiàn)很大的性能問(wèn)題。

        有些做法跟這種思想是類(lèi)似的:比如ecshop、phpcms是把session數(shù)據(jù)都存儲(chǔ)在數(shù)據(jù)庫(kù)中去。服務(wù)端就是從數(shù)據(jù)庫(kù)中拿session的數(shù)據(jù)。

        放到數(shù)據(jù)庫(kù)存儲(chǔ)后,就可以實(shí)現(xiàn):多臺(tái)web服務(wù)器統(tǒng)一操作數(shù)據(jù)庫(kù),因?yàn)閿?shù)據(jù)都在數(shù)據(jù)庫(kù),web服務(wù)器都能從數(shù)據(jù)庫(kù)進(jìn)行讀取,那么session數(shù)據(jù)就能實(shí)現(xiàn)共享。

        存儲(chǔ)在數(shù)據(jù)庫(kù)的做法,在線人數(shù)決定了其瓶頸,主要問(wèn)題是影響性能。在線人數(shù),因?yàn)榈卿浀膕ession數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,只要是登錄的用戶(hù)就會(huì)涉及到頻繁操作數(shù)據(jù)庫(kù)。

        我覺(jué)得小網(wǎng)站,同時(shí)1-2萬(wàn)個(gè)人在線情況下。應(yīng)該沒(méi)什么問(wèn)題。

        看網(wǎng)上丟出一個(gè)問(wèn)題:對(duì)于大訪問(wèn)量的網(wǎng)站,數(shù)據(jù)庫(kù)存儲(chǔ)session方法可行性有待商榷。

   3、可以將session數(shù)據(jù)保存在memcached,redis之類(lèi)內(nèi)存數(shù)據(jù)庫(kù)中,memcached是基于內(nèi)存存儲(chǔ)數(shù)據(jù)的,性能很高,用戶(hù)并發(fā)量很大的時(shí)候尤其合適。

        主要是利用內(nèi)存的數(shù)據(jù)讀取速度是很快的,與磁盤(pán)讀取的速度不是一個(gè)數(shù)量級(jí)的。

        使用內(nèi)存存儲(chǔ):方便統(tǒng)計(jì)在線人數(shù),內(nèi)存的速度比磁盤(pán)訪問(wèn)快、內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)能夠控制內(nèi)存中的過(guò)期數(shù)據(jù)自動(dòng)失效(剛好符合session過(guò)期需要)。

        存儲(chǔ)在redis比較理想的選擇,存儲(chǔ)在數(shù)據(jù)庫(kù)中方便存儲(chǔ)統(tǒng)計(jì)在線人數(shù),那么存儲(chǔ)在redis中也實(shí)現(xiàn)了這個(gè)要求。

        也可以存儲(chǔ)在memcache中。但redis支持的數(shù)據(jù)類(lèi)型多。所以用它好點(diǎn)。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。


網(wǎng)站題目:session多服務(wù)器共享的方案梳理-創(chuàng)新互聯(lián)
分享鏈接:http://weahome.cn/article/dspsji.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部