分布式session的幾種實現方式
1.基於數據庫的session共享
2.基於NFS共享文件系統
3.基於memcached 的session,怎麽保證session的高可用
4.基於resin/tomcat web容器本身的session復制機制
5.基於TT/Redis 或 jbosscache 進行 session 共享。
6.基於cookie 進行session共享
<1.>
Session Replication 方式管理 (即session復制)
簡介:將一臺機器上的Session數據廣播復制到集群中其余機器上
使用場景:機器較少,網絡流量較小
優點:實現簡單、配置較少、當網絡中有機器宕掉時不影響用戶訪問
缺點:廣播式復制到其余機器有一定廷時,帶來一定網絡開銷
二、Session Sticky 方式管理
簡介:即粘性Session、當用戶訪問集群中某臺機器後,強制指定後續所有請求均落到此機器上
使用場景:機器數適中、對穩定性要求不是非常苛刻
優點:實現簡單、配置方便、沒有額外網絡開銷
缺點:網絡中有機器宕掉時、用戶Session會丟失、容易造成單點故障
三、緩存集中式管理
簡介:將Session存入分布式緩存集群中的某臺機器上,當用戶訪問不同節點時先從緩存中拿Session信息
使用場景
優點:可靠性好
缺點:實現復雜、穩定性依賴於緩存的穩定性、Session信息放入緩存時要有合理的策略寫入
二。Session和Cookie的區別和聯系以及Session的實現原理
Session存入在服務器端,Cookie存在與瀏覽器端
Session存的是對象,Cookie存的是字符串
Cookie存的內容較小,由於Cookie存在與瀏覽器端所以造成數據的不安全性
註:如果要是實現session共享建議使用Redis數據庫來做一級緩存使用
<1>Redis數據庫是非關系型數據庫
<2>Redis數據庫常用的存入的值是Key Value的形式等,還有其他形式,具體看·Redis的官方文檔
<3>方便取值,方便存值,
分布式session的幾種實現方式