從單機到集群會話的管理之單機模式

2021-07-06 03:47:42 字數 475 閱讀 2500

單機時代對會話的管理主要有兩種方式——非持久化方式和持久化方式。非持久化方式指會話直接由tomcat

管理並儲存在機器記憶體上,它是最簡單的方式,如下圖,所有的會話集合都儲存在記憶體上,客戶端訪問時根據自己的會話

id直接在伺服器記憶體中尋找,查詢簡單且速度快,但同時也存在兩個缺點:一是容量比較小,當資料量大時容易導致記憶體不足;一是機器意外停止會導致會話資料丟失缺點。

為了解決上面非持久化方式存在的缺陷,我們需要引入持久化機制,即持久化方式。可以將會話資料以檔案形式持久化到硬碟中,也可以通過資料庫持久化會話資料。首先看硬碟持久化,如下圖,會話資料會以檔案形式儲存在硬碟中,由於硬碟比儲存空間比記憶體大且機器意外關機都不會使資料丟失,所以硬碟儲存解決了上面兩個缺點,但是硬碟讀取的速度比較慢,可能會影響整體的響應時間,硬碟持久化方式在實際中基本不會使用。

從單機到集群會話的管理之集群模式二(更大的集群)

從單機到集群會話的管理之集群模式一 中講到的全節點複製的網路流量隨節點數量增加呈平方趨勢增長,也正是因為這個因素導致無法構建較大規模的集群,為了使集群節點能更加大,首要解決的就是資料複製時流量增長的問題,下面將介紹另外一種會話管理方式,每個會話只會有乙個備份,它使會話備份的網路流量隨節點數量的增加呈...

Flask從入門到精通之重定向和使用者會話

最新版的hello.py 存在乙個可用性問題。使用者輸入名字後提交表單,然後點選瀏覽器的重新整理按鈕,會看到乙個莫名其妙的警告,要求在再次提交表單之前進行確認。之所以出現這種情況,是因為重新整理頁面時瀏覽器會重新傳送之前已經傳送過的最後乙個請求。如果這個 請求是乙個包含表單資料的post 請求,重新...

從單塊架構到分布式架構之資料庫集群(三)

資料庫集群主要有主備 主從 分庫 分表等方案。主要用來做儲存高可用,當主庫掛了之後可以利用備庫來代替主庫,備庫不提供任何的訪問能力。問題所在 主備資料同步是有延時的,資料量非常大的情況下可能會達到一分鐘以上。如果這個時候主庫所在伺服器宕機,可能會造成備庫資料不一致的情況。當主庫恢復正常執行之後,是把...