更多內容,歡迎關注微信公衆號:全菜工程師小輝。公衆號回覆關鍵詞,領取免費學習資料。nginx
服務器爲每一個用戶建立一個會話,存儲用戶的相關信息,以便屢次請求可以定位到同一個上下文,這個相關信息就是session。這樣,當用戶在應用程序的Web頁之間跳轉時,存儲在session對象中的變量將不會丟失,而是在整個用戶會話中一直存在下去。後端
session是對http無狀態協議的補充,達到狀態保持的目的瀏覽器
假設用戶包含登陸信息的session都記錄在第一臺server上,反向代理若是將請求路由到另外一臺server上,可能就找不到相關信息,而致使用戶須要從新登陸。緩存
> 因爲技術不斷演進,客戶端保存cookie出現了信息全量cookie,cookie存儲sessionId和JWT三種方式,他們優缺點各異,能夠點擊筆者的另外一篇博客查看相關介紹安全
快速瞭解會話管理三劍客cookie、session和JWT服務器
思路:
多個server之間相互同步session,這樣每一個server之間都包含所有的session微信
優勢:cookie
思路:
將session存儲在server後端的集中式緩存網絡
優勢:session
> session會話粘連:英文原詞爲"Sticky Sessions"
思路:
反向代理層讓同一個用戶的請求保證落在一臺server上呢?
方法一:四層代理hash。反向代理層使用用戶ip來作hash,以保證同一個ip的請求落在同一個server上(更推薦,保證傳輸層不引入業務層的邏輯)
方法二:七層代理hash。反向代理使用http協議中的某些業務屬性來作hash,例如sid,city_id,user_id等,可以更加靈活的實施hash策略,以保證同一個瀏覽器用戶的請求落在同一個server上
優勢:
更多內容,歡迎關注微信公衆號:全菜工程師小輝。公衆號回覆關鍵詞,領取免費學習資料。