99插插插,亚洲伦理中文在线,站长推荐一二三区欧美,青青草在线导航

×

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

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

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

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

Img412119115.jpg

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

免責(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)容,請發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

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

Loading
日B视频道| 天堂国产成人综合亚洲| 亚州精品蜜臀久久久| 视频区 图片区 日韩 欧美 麻豆| 欧美激情视频一二区| 午夜试看片| 国产麻豆人妻一区二区| 国产精品哟哟哟色色| 69视屏成人| 日韩欧美一区二区三不卡| 日本一区二区美熟女| 日本精品人妻在线电影| 99久久久免费精品| 亚洲成人免费A V | 久久蜜桃欧美| 四虎激情| 天av不卡在| 主播白浆一区二区| A∨天堂无码| 久久久911人妻| 日韩欧美一区二区久久久| 人妻一二三| 欧美日韩国产精品图片专区| 亚洲精品欧美日韩一区| 9191蜜桃欧美| 中文字幕无码的| AV禁片男人的天堂色一二三区| 国产动作片久久| 成人香蕉久久| saoxueav| 美女扒开尿道让人插黄片| 在线性爱欧美| 午夜伦理久久久久久| 欧美日韩免费在线视频| 国产尤物暖暖在线观看| 黄色午夜羞羞久影院| 91cn熟女| 日本欧美亚洲日韩| 亚洲伦理+国产+女教师| 殴美少妇一极黄色片=区三区| 亚洲 国产 欧美 日韩 精品|