91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何運用Java分布式session存儲

發布時間:2020-07-15 15:43:36 來源:億速云 閱讀:163 作者:小豬 欄目:開發技術

這篇文章主要為大家展示了如何運用Java分布式session存儲,內容簡而易懂,下面讓小編帶大家一起學習一下吧。

Session Stick

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

如何運用Java分布式session存儲

這種方案實現比較簡單,對于Web服務器來說和單機的情況一樣。但是可能會帶來如下問題:

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

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

負載均衡器將變成一個有狀態的節點,要將會話保存到具體Web服務器的映射。和無狀態節點相比,內存消耗更大,容災方面也會更麻煩。

Session Replication

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

如何運用Java分布式session存儲

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

同步Session數據會造成額外的網絡帶寬的開銷,只要Session數據有變化,就需要將新產生的Session數據同步到其他服務器上,服務器數量越多,同步帶來的網絡帶寬開銷也就越大。

每臺Web服務器都需要保存全部的Session數據,如果整個集群的Session數量太多的話,則對于每臺機器用于保存Session數據的占用會很嚴重。

Session 數據集中存儲

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

如何運用Java分布式session存儲

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

讀寫Session數據引入了網絡操作,這相對于本機的數據讀取來說,問題就在于存在時延和不穩定性,但是通信發生在內網,則問題不大。

如果集中存儲Session的機器或集群出現問題,則會影響應用。

Cookie Based

Cookie Based 方案是將Session數據放在Cookie里,訪問Web服務器的時候,再由Web服務器生成對應的Session數據,如下圖所示。

如何運用Java分布式session存儲

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

Cookie長度的限制。這會導致Session長度的限制。

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

帶寬消耗。這里不是指內部Web服務器之間的寬帶消耗,而是數據中心的整體外部帶寬的消耗。

性能影響。每次HTTP請求和響應都帶有Seesion數據,對Web服務器來說,在同樣的處理情況下,響應的結果輸出越少,支持的并發就會越高。

以上就是關于如何運用Java分布式session存儲的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

上高县| 新乡市| 株洲县| 宁河县| 郑州市| 祁连县| 喀喇| 广宗县| 连山| 山丹县| 阳江市| 新丰县| 寿光市| 衡阳市| 綦江县| 巩留县| 贵德县| 铜陵市| 五家渠市| 霍山县| 西吉县| 西安市| 普陀区| 红河县| 淮北市| 晋江市| 乐昌市| 辰溪县| 夏河县| 岳普湖县| 阿尔山市| 甘南县| 海淀区| 大安市| 岳阳市| 蒙山县| 颍上县| 武义县| 镶黄旗| 曲靖市| 高安市|