您好,登錄后才能下訂單哦!
應用服務器集群的session管理是怎么樣的,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
1、什么是session
a、web應用中將這些多次請求修改使用的上下文對象稱作會話(session)
b、Session 對象存儲特定用戶會話所需的信息。這樣,當用戶在應用程序的 Web 頁之間跳轉時,存儲在 Session 對象中的變量將不會丟失,而是在整個用戶會話中一直存在下去。
c、當用戶請求來自應用程序的 Web 頁時,如果該用戶還沒有會話,則 Web 服務器將自動創建一個 Session 對象。當會話過期或被放棄后,服務器將終止該會話
2、session的應用場景
在高可用的架構中,業務總是有狀態的,比如電商交易類平臺中,需要有購物車記錄用戶的購買信息;在社交類的網站中,需要記錄用戶的當前登陸狀態、最新發布的消息及好友狀態等,用戶每次刷新頁面都需要更新這些信息
3、session管理的幾種手段
a)session復制
應用服務器開啟web容器的session復制功能,在集群中幾臺服務器之間同步session對象,使得每臺服務器上都保存所有用戶的session信息
較大規模的情況下(session復制就會顯得不足了)
b)session綁定
ession綁定可以利用負載均衡的源地址Hash算法實現,負載均衡服務器總是將來源于同一個IP的請求分發到同一臺服務器上,顯然session綁定不符合我們對系統高可用的要求,因為一旦服務器宕機,那么該機器上的session就不復存在了
優點:實現簡單、配置方便、沒有額外網絡開銷
缺點:網絡中有機器Down掉時、用戶Session會丟失、容易造成單點故障
c)利用cookie記錄session
說明:網站沒有客戶端,可以利用瀏覽器支持的cookie記錄session(事實上,許多網站或多或少地使用cookie記錄session)
不足:
受cookie大小限制,能記錄的信息有限
每次響應請求都要傳輸Cookie,影響性能
如果用戶關閉cookie,訪問就會不正常
d)session服務器
利用獨立部署的服務器(集群)統一管理session
應用服務器的狀態分離,分為無狀態的應用服務器和有狀態的session服務器
對于有狀態的session服務器:分布式緩存+數據庫等
業務場景要求高的情況下,利用session服務集成單點登錄(SSO)、用戶服務等功能,或者開發專門的session服務管理平臺
關于應用服務器集群的session管理是怎么樣的問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。