您好,登錄后才能下訂單哦!
集群中幾種session同步解決方案的比較是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
在集群中session安全和同步是個最大的問題,下面是我收集到的幾種session同步的方案,希望能通過分析其各自的優劣找出其適應的場景。
這是我以前采用的方式,簡單,高效。比較好的方法是自己采用cookie機制來實現一個session,在應用中使用此session實現。
問題:session中數據不能太多,最好只有個用戶id。
可能大部分應用服務器都提供了session復制的功能來實現集群,tomcat,jboss,was都提供了這樣的功能。
問題:
性能隨著服務器增加急劇下降,而且容易引起廣播風暴;
session數據需要序列化,影響性能。
使用數據庫來保存session,就算服務器宕機了也沒事,session照樣在。
問題:
程序需要定制;
每次請求都進行數據庫讀寫開銷不小(使用內存數據庫可以提高性能,宕機就會丟失數據。可供選擇的內存數據庫有BerkeleyDB,Mysql的內存表);
數據庫是一個單點,當然可以做數據庫的ha來解決這個問題。
和數據庫類似,就算服務器宕機了也沒事,session照樣在。使用nfs或windows文件共享都可以,或者專用的共享存儲設備。
問題:
程序需要定制;
頻繁的進行數據的序列化和反序列化,性能是否有影響;
共享存儲是一個單點,這個可以通過raid來解決。
這種方式跟數據庫類似,不過因為是內存存取的,性能自然要比數據庫好多了。
問題:
程序需要定制,增加了工作量;
存入memcached中的數據都需要序列化,效率較低;
memcached服務器一死,所有session全丟。memchached能不能做HA? 我也不知道,網站上沒提。
跟memcached類似,但是數據不需要序列化,并且是Find-Grained Changes,性能更好。配置對原來的應用完全透明,原有程序幾乎不用做任何修改。而且terracotta本身支持HA。
問題:terracotta的HA本身進行數據復制性能如何?
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。