搜尋

首頁  >  問答  >  主體

redis - Nginx負載平衡策略和SESSION共享

叢集WEB應用或多或少都會遇到session問題,在多台伺服器的情況下,session的要地儲存會造成一些問題,影響使用者體驗。

下面列出這裡我能想到的幾種處理方法,各有優缺點

  1. ip_hash分配並不均勻,尤其是用於ip_hash的Nginx不是最前端時,可能無法使用此策略

  2. 假如不考慮負載均勻問題,仍然存在的問題是,當後端某台機器宕掉時,這台機器上所有的session都會失去,假如session中記錄的用戶的認證狀態,那麼使用者將變成未認證狀態

除了上面一的些方法,肯定還有其它辦法,有興趣的進來討論一下

補充紀錄
[2016/9/1]個人認為完全可以避免使用sessionservlet系的應用做分佈式本就有很多限制,如果要實現分佈式,最好的辦法是利用http的無狀態特性來實現,當然,用戶登入、購物車等資訊確實需要進行狀態存儲,這些完全可以直接存儲到第三方存儲中,例如:redismysql等,其本質上類似於

session 🎜共享方案,但相對更加激進。 🎜
習慣沉默習慣沉默2794 天前717

全部回覆(1)我來回復

  • 过去多啦不再A梦

    过去多啦不再A梦2017-04-25 09:06:41

    你這裡所說的session絕對部分說的是存登入資訊吧?

    如果是,那麼統一登入服務應該也是一種方案

    回覆
    0
  • 取消回覆