• <samp id="mz5ne"><acronym id="mz5ne"></acronym></samp>
      <ol id="mz5ne"></ol>
    1. <samp id="mz5ne"></samp>
      <mark id="mz5ne"></mark>

        <fieldset id="mz5ne"></fieldset>

        免费看又黄又无码的网站_久久久高清国产免费观看_亚洲一区二区三区在线免费观看_免费欧洲美女a视频一级毛片_日本最新免费二区三区

        ×

        web架構(gòu)中Session管理方法的優(yōu)缺點(diǎn)

        • 作者:新網(wǎng)
        • 來(lái)源:新網(wǎng)
        • 瀏覽:100
        • 2018-04-16 11:22:02

        做web開(kāi)發(fā)的同學(xué)應(yīng)該對(duì)session再熟悉不過(guò),它是服務(wù)器分配給客戶端的會(huì)話標(biāo)識(shí),瀏覽器每次請(qǐng)求會(huì)帶上這個(gè)標(biāo)識(shí)來(lái)告訴服務(wù)器我是誰(shuí),服務(wù)器會(huì)在內(nèi)存中存儲(chǔ)這些不同的會(huì)話信息,由此來(lái)分辨請(qǐng)求來(lái)自哪個(gè)會(huì)話。

         做web開(kāi)發(fā)的同學(xué)應(yīng)該對(duì)session再熟悉不過(guò),它是服務(wù)器分配給客戶端的會(huì)話標(biāo)識(shí),瀏覽器每次請(qǐng)求會(huì)帶上這個(gè)標(biāo)識(shí)來(lái)告訴服務(wù)器我是誰(shuí),服務(wù)器會(huì)在內(nèi)存中存儲(chǔ)這些不同的會(huì)話信息,由此來(lái)分辨請(qǐng)求來(lái)自哪個(gè)會(huì)話。在單機(jī)部署的環(huán)境總,因?yàn)閣eb服務(wù)器和session都是在同一臺(tái)機(jī)器上,所以必然能找到對(duì)應(yīng)的會(huì)話數(shù)據(jù)。但如果有2臺(tái)web服務(wù)器(A和B)提供服務(wù),假如第一次請(qǐng)求落到A上并創(chuàng)建了session,那么如何保證下次落到B的請(qǐng)求能讀到session數(shù)據(jù)?

        Img412119115.jpg

         
         
        有以下4中常見(jiàn)的解決方案。
         
        1、Session Sticky
         
        這是最簡(jiǎn)單粗暴的 方法,核心思路就是讓同一會(huì)話的請(qǐng)求都落地到同一臺(tái)服務(wù)器上,這樣處理起來(lái)就和單機(jī)一樣了,我們可以在負(fù)載均衡上做一些身份識(shí)別并控制轉(zhuǎn)發(fā)來(lái)達(dá)到這個(gè)目的。這樣做的優(yōu)勢(shì)是能像單機(jī)一樣簡(jiǎn)化對(duì)session處理,也方便做本地緩存,但缺點(diǎn)也是很明顯的:
         
        如果這臺(tái)服務(wù)器宕機(jī)或重啟了,那么所以的會(huì)話數(shù)據(jù)都會(huì)丟失,失去了分布式集群帶來(lái)的高可用特性。
         
        增加了負(fù)載均衡器的負(fù)擔(dān),使它變得有狀態(tài)了,而且資源消耗會(huì)更大,容易成為性能瓶頸。
         
        2、Session Replication
         
        顧名思義,這是一種session復(fù)制的方案,核心思路就是通過(guò)在服務(wù)器之間增加session同步機(jī)制來(lái)保證數(shù)據(jù)一致。
         
        看起來(lái)比第一種簡(jiǎn)單了很多,也沒(méi)有第一種帶來(lái)的缺陷,但在某些應(yīng)用場(chǎng)景下還是會(huì)有比較嚴(yán)重的問(wèn)題:
         
        服務(wù)器之間的數(shù)據(jù)同步帶來(lái)了額外的網(wǎng)絡(luò)消耗,隨著機(jī)器數(shù)量和數(shù)據(jù)量的上升,網(wǎng)絡(luò)帶寬將會(huì)有很大的壓力,也必然會(huì)帶來(lái)延時(shí)問(wèn)題。
         
        每臺(tái)服務(wù)器上都要存儲(chǔ)所有的會(huì)話數(shù)據(jù),如果會(huì)話數(shù)量很大會(huì)占用服務(wù)器大部分內(nèi)存空間
         
        目前很多應(yīng)用容器都支持這種同步方式,所以在集群規(guī)模和數(shù)據(jù)量比較小的時(shí)候還是一種很好的解決方案。
         
        3、Session集中存儲(chǔ)
         
        這種方式的思路就是把所有的會(huì)話數(shù)據(jù)統(tǒng)一存儲(chǔ)和管理,所有應(yīng)用服務(wù)器需要對(duì)session進(jìn)行讀寫(xiě)都要通過(guò)session服務(wù)器來(lái)操作:
         
        這種方案的好處是獨(dú)立了session的管理,職責(zé)單一化,session服務(wù)器采用什么方式存儲(chǔ)(內(nèi)存、數(shù)據(jù)庫(kù)、文檔、NoSql等等),什么方式對(duì)外提供服務(wù)都是透明的。不會(huì)給應(yīng)用系統(tǒng)和負(fù)載均衡帶來(lái)額外的開(kāi)銷,不需要進(jìn)行數(shù)據(jù)同步就能保證一致性,看起來(lái)應(yīng)該是非常完美了,不過(guò)也有自己的一些小缺陷:
         
        對(duì)session讀寫(xiě)需要網(wǎng)絡(luò)操作,相比較session直接存儲(chǔ)在web服務(wù)器的時(shí)候增加了時(shí)延和不穩(wěn)定性,好在session服務(wù)器和web服務(wù)器一般是部署在局域網(wǎng)中,可以最大化減少這個(gè)問(wèn)題。
         
        session服務(wù)器出現(xiàn)問(wèn)題將影響所有web服務(wù),如果采用多機(jī)部署同時(shí)也會(huì)帶來(lái)數(shù)據(jù)一致性問(wèn)題。
         
        每種方案帶有它獨(dú)特的優(yōu)勢(shì),同時(shí)也會(huì)帶來(lái)相應(yīng)的新問(wèn)題,正所謂沒(méi)有十全十美,只有適合才是最好的。總體來(lái)說(shuō),這種方案在應(yīng)用服務(wù)器和會(huì)話數(shù)據(jù)量都很大的時(shí)候還是非常有優(yōu)勢(shì)的。
         
        4、Cookie Base
         
        這種方案是基于cookie的傳輸來(lái)實(shí)現(xiàn)的,核心思想很簡(jiǎn)單,就是把完整的會(huì)話數(shù)據(jù)經(jīng)過(guò)處理后寫(xiě)入到客戶端cookie,以后客戶端每次請(qǐng)求都帶上這個(gè)cookie,然后服務(wù)端通過(guò)解析cookie數(shù)據(jù)來(lái)獲取會(huì)話信息。
         
        這種方案簡(jiǎn)單明了,也沒(méi)有前面幾種方案帶來(lái)的問(wèn)題,但劣勢(shì)也非常明顯:
         
        首先通過(guò)cookie來(lái)傳遞關(guān)鍵數(shù)據(jù)肯定是不安全的,即便是采用了特殊的加密手段。
         
        如果客戶端禁用了cookie,將直接導(dǎo)致服務(wù)不可用。
         
        cookie的數(shù)據(jù)是有大小限制的,如果傳遞的數(shù)據(jù)超出限制大小,將會(huì)導(dǎo)致數(shù)據(jù)異常。
         
        在http請(qǐng)求中攜帶大量的數(shù)據(jù)進(jìn)行傳輸會(huì)增加網(wǎng)絡(luò)負(fù)擔(dān),同樣,服務(wù)端響應(yīng)大量數(shù)據(jù)會(huì)導(dǎo)致請(qǐng)求變慢,并發(fā)量大的時(shí)候會(huì)非??膳?。
         

        免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

        免費(fèi)咨詢獲取折扣

        Loading
        国产精品视频白浆免费视频_久久久高清国产免费观看_亚洲一区二区三区在线免费观看_免费欧洲美女a视频一级毛片
      1. <samp id="mz5ne"><acronym id="mz5ne"></acronym></samp>
          <ol id="mz5ne"></ol>
        1. <samp id="mz5ne"></samp>
          <mark id="mz5ne"></mark>

            <fieldset id="mz5ne"></fieldset>
            平乐县| 西畴县| 天水市| 建平县| 信宜市| 略阳县| 嘉定区| 泽普县| 丰都县| 五大连池市| 谷城县| 广汉市| 水城县| 牙克石市| 柞水县| 延吉市| 容城县| 安阳市| 汝州市| 兰西县| 岢岚县| 玉林市| 西丰县| 韩城市| 蒙阴县| 富宁县| 潼南县| 新余市| 汕头市| 石屏县| 宜昌市| 若尔盖县| 卓尼县| 革吉县| 平果县| 天峨县| 壶关县| 青龙| 东乡| 宁晋县| 习水县|