集羣會話共享問題的幾種處理方式

目前集羣登錄會話處理方法有如下幾種:redis

 

1. SESSION廣播模式,即各個WEB 容器中會話相互拷貝,當一個容器SESSION發生變化時,則通知集羣中全部其餘容器,數據庫

此方式容易引發廣播風暴(相似於集線器,固然具體要看實現方式,好比下圖的兩種方式),配置簡單,可用於小集羣小規模用戶。瀏覽器

 

2. 會話集中管理,修改容器配置,把全部會話集中至緩存服務器(如memcached、redis 或者數據庫),內存處理效率高,不過宕機全部會話將丟失,緩存

數據庫保存效率偏低,宕機仍然能保存大部分會話,數據庫選擇MYSQL 或者 Berkeley DB等。以下圖:服務器

2.1 有些狀況可以使會話緩存服務器中只保存登錄信息,其餘的數據寫入COOKIE,不過COOKIE有限制,根據實際狀況更改設計。memcached

 

 

3. 會話粘性默認,即一個用戶訪問開始相當閉瀏覽器前,全部的請求都被轉至一臺服務器。缺點:服務器宕機會使得該服務器中服務的用戶會話所有丟失,設計

適合場景:在中等用戶規模的企業內使用(如TPS爲300-500)。blog

相關文章
相關標籤/搜索