如何保證Session一致性

2021-10-08 03:33:48 字數 536 閱讀 6281

session同步法

多台web-server互相同步資料,缺點是水平擴充套件受限,因為每台web-server都是儲存所有的session

客戶端儲存法

session儲存到瀏覽器cookie中,每個客戶端只要儲存乙個使用者的資料了。缺點是占用外網頻寬、大小受限(因為cookie有大小限制)

反向**hash一致性

四層hash和七層hash都可以做,保證乙個使用者的請求落在一台web-server上,缺點是不能保證高可用,如果一台web-server down機了,上線的session資訊都會丟失,使用者需要重新登入,不過這個也還好,問題不大。

後端統一儲存

中介軟體(比如快取redis)統一儲存session資訊,重啟和擴容session資訊不丟失。

用的比較多的是第三個或者第四個,個人推薦第四個最好,這樣web-server是無狀態的,可以保證水平的基礎上,同時保證ha高可用

refer:

保證一致性嗎 Kafka的一致性保證

魚和熊掌不可兼得。系統設計需要根據具體的應用場景做出權衡。系統設計者可以通過配置kafka,來得到不同程度的需求滿足。每個kafka主題 topic 都分為多個分割槽 partitions 每個分割槽可以具有多個副本 replica 其中乙個副本是主分割槽 leader 所有讀寫請求都由主分割槽提供...

dubbo如何保證事務一致性

目前比較多的解決方案有幾個 一 結合mq訊息中介軟體實現的可靠訊息最終一致性 二 tcc補償性事務解決方案 三 最大努力通知型方案 第一種方案 可靠訊息最終一致性,需要業務系統結合mq訊息中介軟體實現,在實現過程中需要保證訊息的成功傳送及成功消費。即需要通過業務系統控制mq的訊息狀態 第二種方案 t...

mysqldump如何保證資料一致性

作為dba的小k,搭建備機應該是家常便飯了,這時候用到的方法無非有如下三種 1 停掉一台備機 這裡叫備機1 直接拷貝整個資料目錄下的所有檔案到新的備機 這裡叫備機2 優點是簡單 快速,只需要拷貝 缺點也很明顯,在整個備份過程中備機1處於完全不可用的狀態,且備機2無法釋放備機1中因為碎片導致的空間浪費...