最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java分布式session存儲解決方案圖解

 更新時(shí)間:2020年07月14日 09:22:00   作者:MrAit  
這篇文章主要介紹了Java分布式session存儲解決方案圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

前言

本文主要探討集群后不同Web服務(wù)器獲取Session數(shù)據(jù)的問題解決方案。

Session Stick

Session Stick 方案即將客戶端的每次請求都轉(zhuǎn)發(fā)至同一臺服務(wù)器,這就需要負(fù)載均衡器能夠根據(jù)每次請求的會話標(biāo)識(SessionId)來進(jìn)行請求轉(zhuǎn)發(fā),如下圖所示。

這種方案實(shí)現(xiàn)比較簡單,對于Web服務(wù)器來說和單機(jī)的情況一樣。但是可能會帶來如下問題:

如果有一臺服務(wù)器宕機(jī)或者重啟,那么這臺機(jī)器上的會話數(shù)據(jù)會全部丟失。

會話標(biāo)識是應(yīng)用層信息,那么負(fù)載均衡要將同一個會話的請求都保存到同一個Web服務(wù)器上的話,就需要進(jìn)行應(yīng)用層(第7層)的解析,這個開銷比第4層大。

負(fù)載均衡器將變成一個有狀態(tài)的節(jié)點(diǎn),要將會話保存到具體Web服務(wù)器的映射。和無狀態(tài)節(jié)點(diǎn)相比,內(nèi)存消耗更大,容災(zāi)方面也會更麻煩。

Session Replication

Session Replication 的方案則不對負(fù)載均衡器做更改,而是在Web服務(wù)器之間增加了會話數(shù)據(jù)同步的功能,各個服務(wù)器之間通過同步保證不同Web服務(wù)器之間的Session數(shù)據(jù)的一致性,如下圖所示。

Session Replication 方案對負(fù)載均衡器不再有要求,但是同樣會帶來以下問題:

同步Session數(shù)據(jù)會造成額外的網(wǎng)絡(luò)帶寬的開銷,只要Session數(shù)據(jù)有變化,就需要將新產(chǎn)生的Session數(shù)據(jù)同步到其他服務(wù)器上,服務(wù)器數(shù)量越多,同步帶來的網(wǎng)絡(luò)帶寬開銷也就越大。

每臺Web服務(wù)器都需要保存全部的Session數(shù)據(jù),如果整個集群的Session數(shù)量太多的話,則對于每臺機(jī)器用于保存Session數(shù)據(jù)的占用會很嚴(yán)重。

Session 數(shù)據(jù)集中存儲

Session 數(shù)據(jù)集中存儲方案則是將集群中的所有Session集中存儲起來,Web服務(wù)器本身則并不存儲Session數(shù)據(jù),不同的Web服務(wù)器從同樣的地方來獲取Session,如下圖所示。

相對于Session Replication方案,此方案的Session數(shù)據(jù)將不保存在本機(jī),并且Web服務(wù)器之間也沒有了Session數(shù)據(jù)的復(fù)制,但是該方案存在的問題在于:

讀寫Session數(shù)據(jù)引入了網(wǎng)絡(luò)操作,這相對于本機(jī)的數(shù)據(jù)讀取來說,問題就在于存在時(shí)延和不穩(wěn)定性,但是通信發(fā)生在內(nèi)網(wǎng),則問題不大。

如果集中存儲Session的機(jī)器或集群出現(xiàn)問題,則會影響應(yīng)用。

Cookie Based

Cookie Based 方案是將Session數(shù)據(jù)放在Cookie里,訪問Web服務(wù)器的時(shí)候,再由Web服務(wù)器生成對應(yīng)的Session數(shù)據(jù),如下圖所示。

但是Cookie Based 方案依然存在不足:

Cookie長度的限制。這會導(dǎo)致Session長度的限制。

安全性。Seesion數(shù)據(jù)本來是服務(wù)端數(shù)據(jù),卻被保存在了客戶端,即使可以加密,但是依然存在不安全性。

帶寬消耗。這里不是指內(nèi)部Web服務(wù)器之間的寬帶消耗,而是數(shù)據(jù)中心的整體外部帶寬的消耗。

性能影響。每次HTTP請求和響應(yīng)都帶有Seesion數(shù)據(jù),對Web服務(wù)器來說,在同樣的處理情況下,響應(yīng)的結(jié)果輸出越少,支持的并發(fā)就會越高。

總結(jié)

前面四個方案都是可行的,但是對于大型網(wǎng)站來說,Session Sticky和Session數(shù)據(jù)集中存儲是比較好的方案。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java 多線程有序執(zhí)行的幾種方法總結(jié)

    Java 多線程有序執(zhí)行的幾種方法總結(jié)

    這篇文章主要介紹了Java 多線程有序執(zhí)行的幾種方法總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Mybatis注解方式完成輸入?yún)?shù)為list的SQL語句拼接方式

    Mybatis注解方式完成輸入?yún)?shù)為list的SQL語句拼接方式

    這篇文章主要介紹了Mybatis注解方式完成輸入?yún)?shù)為list的SQL語句拼接方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Spring MVC獲取HTTP請求頭的兩種方式小結(jié)

    Spring MVC獲取HTTP請求頭的兩種方式小結(jié)

    這篇文章主要介紹了Spring MVC獲取HTTP請求頭的兩種方式小結(jié),幫助大家更好的理解和使用Spring MVC,感興趣的朋友可以了解下
    2021-01-01
  • Java中字符串String常用方法詳解

    Java中字符串String常用方法詳解

    這篇文章主要給大家介紹了關(guān)于Java中字符串String常用方法的相關(guān)資料,String表示字符串類型,是引用數(shù)據(jù)類型不是基本數(shù)據(jù)類型,String是類且是最終類,不能有子類,文中將用法介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • Springboot指定掃描路徑的實(shí)現(xiàn)示例

    Springboot指定掃描路徑的實(shí)現(xiàn)示例

    本文主要介紹了Springboot指定掃描路徑的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • Java中數(shù)組在內(nèi)存中存放原理的講解

    Java中數(shù)組在內(nèi)存中存放原理的講解

    今天小編就為大家分享一篇關(guān)于Java中數(shù)組在內(nèi)存中存放原理的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Java序列化原理詳解

    Java序列化原理詳解

    這篇文章主要介紹了Java序列化原理詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-06-06
  • springboot實(shí)現(xiàn)token驗(yàn)證登陸狀態(tài)的示例代碼

    springboot實(shí)現(xiàn)token驗(yàn)證登陸狀態(tài)的示例代碼

    本文主要介紹了spring?boot?實(shí)現(xiàn)token驗(yàn)證登陸狀態(tài),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • SpringBoot解析@Value注解型解析注入時(shí)機(jī)及原理分析

    SpringBoot解析@Value注解型解析注入時(shí)機(jī)及原理分析

    @Value注解可以用來將外部的值動態(tài)注入到Bean中,可以獲取配置文件中的屬性值和通過SpEl表達(dá)式獲取bean的屬性或方法
    2024-12-12
  • SpringBoot前后端分離實(shí)現(xiàn)個人博客系統(tǒng)

    SpringBoot前后端分離實(shí)現(xiàn)個人博客系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了使用springboot+mybatis+前端vue,使用前后端分離架構(gòu)實(shí)現(xiàn)的個人博客系統(tǒng),感興趣的小伙伴可以動手嘗試一下
    2022-06-06

最新評論

巴南区| 天柱县| 新乐市| 扶余县| 镶黄旗| 伊吾县| 平塘县| 邵东县| 根河市| 杂多县| 宁都县| 出国| 汉川市| 唐河县| 余姚市| 策勒县| 如皋市| 扎囊县| 武夷山市| 青海省| 宝山区| 益阳市| 交城县| 钟祥市| 邵东县| 东乌| 健康| 宁陕县| 海伦市| 淳安县| 阳原县| 方正县| 绍兴市| 建平县| 晋城| 巴楚县| 日照市| 利辛县| 磴口县| 防城港市| 安福县|