您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關分布式Session共享的解決方案是什么,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
1、session復制
session復制是早期的企業級的使用比較多的一種服務器集群session管理機制。應用服務器開啟web容器的session復制功能,在集群中的幾臺服務器之間同步session對象,使得每臺服務器上都保存所有的session信息,這樣任何一臺宕機都不會導致session的數據丟失,服務器使用session時,直接從本地獲取。
這種方式在應用集群達到數千臺的時候,就會出現瓶頸,每臺都需要備份session,出現內存不夠用的情況。
2、session綁定
利用hash算法,比如nginx的ip_hash,使得同一個Ip的請求分發到同一臺服務器上。
這種方式不符合對系統的高可用要求,因為一旦某臺服務器宕機,那么該機器上的session也就不復存在了,用戶請求切換到其他機器后么有session,無法完成業務處理。
3、利用cookie記錄session
session記錄在客戶端,每次請求服務器的時候,將session放在請求中發送給服務器,服務器處理完請求后再將修改后的session響應給客戶端。這里的客戶端就是cookie。
利用cookie記錄session的也有缺點,比如受cookie大小的限制,能記錄的信息有限;每次請求響應都需要傳遞cookie,影響性能,如果用戶關閉cookie,訪問就不正常。但是由于
cookie的簡單易用,可用性高,支持應用服務器的線性伸縮,而大部分要記錄的session信息比較小,因此事實上,許多網站或多或少的在使用cookie記錄session。
4、session服務器
session服務器可以解決上面的所有的問題,利用獨立部署的session服務器(集群)統一管理session,服務器每次讀寫session時,都訪問session服務器。
這種解決方案事實上是應用服務器的狀態分離,分為無狀態的應用服務器和有狀態的session服務器,然后針對這兩種服務器的不同特性分別設計架構。
對于有狀態的session服務器,一種比較簡單的方法是利用分布式緩存(memcached), 數據庫等。在這些產品的基礎上進行包裝,使其符合session的存儲和訪問要求。
如果業務場景對session管理有比較高的要求,比如利用session服務基層單點登錄(sso),用戶服務器等功能,需要開發專門的session服務管理平臺。
關于分布式Session共享的解決方案是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
上述就是小編為大家分享的分布式Session共享的解決方案是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。