session 集群方案

2021-08-22 01:16:38 字數 1108 閱讀 9640

背景:假設某個**是由多台伺服器提供服務,nginx採用輪詢機制做負載均衡,那麼同乙個ip訪問該**時,請求就可能會被分配到不同的伺服器上,如果session沒有實現共享,就會出現重複登陸授權的情況。

session 集群主要有兩個方案:session 複製和session共享

session 複製:

是指session資訊會在集群節點之間複製,每個節點伺服器上都會有相同的session資訊。

優點:是即使乙個節點伺服器宕機了,只要還有伺服器存活,就不影響使用者使用。

缺點:缺點是node之間通訊頻繁,響應速度有影響,多併發、高頻操作的情況下效能下降比較厲害。

session共享
基於memcache/redis等資料庫的session共享

tomcat集群
tomcat自帶集群:屬於session 複製,session資訊會在各個tomcat中同步,對網路要求較高,session記憶體消耗影響會很大,對於小集群夠用了,大集群還是建議使用redis或者memcache進行共享。

tomcat session共享(基於redis)
可以使用redission實現

ngin均衡策略和session的關係
1.輪詢(預設),指定權重,fair(第三方),url_hash(第三方)此時集群各個節點之間必須進行session共享

2.ip繫結 ip_hash,使用者的請求都會繫結在同乙個節點伺服器上,不考慮節點伺服器宕機的情況,可以不進行session共享。節點伺服器宕機後,使用者需要關掉瀏覽器從新開啟登入,體驗極差。

apache負載均衡策略和session的關係
1.輪詢策略:即根據http請求數(requests)來均衡的分配給所**的伺服器,此時集群各個節點之間必須進行session共享

2.權重分配策略:即根據請求數量,調整分配比例(即訪問三次40,訪問一次22),此時集群各個節點之間必須進行session共享

集群 Session解決方案

在集群中session安全和同步是個最大的問題,下面是收集到的幾種session同步的方案,希望能通過分析其各自的優劣找出其適應的場景。1.客戶端cookie加密 簡單,高效。比較好的方法是自己採用cookie機制來實現乙個session,在應用中使用此session實現。問題 session中資料...

集群 Session解決方案

在集群中session安全和同步是個最大的問題,下面是收集到的幾種session同步的方案,希望能通過分析其各自的優劣找出其適應的場景。1.客戶端cookie加密 簡單,高效。比較好的方法是自己採用cookie機制來實現乙個session,在應用中使用此session實現。問題 session中資料...

集群Session的解決方案

基於http協議本身的限制,我們開發web應用的時候經常使用到session來支援同乙個使用者的會話狀態。了解http協議參考另一篇文章 http協議解析 在應用系統進行分布式部署之後,原本的單機同乙個session變成了多台機器,多個session,同乙個使用者訪問的時候可能一會請求到機器a,一會...