分布式Session的幾種實現方式
1.基於數據庫的Session共享
2.基於NFS共享文件系統
3.基於memcached 的session,如何保證 memcached 本身的高可用性?
4. 基於resin/tomcat web容器本身的session復制機制
5. 基於TT/Redis 或 jbosscache 進行 session 共享。
6. 基於cookie 進行session共享
介紹下常用的分布式Session 實現
1. Session Replication 方式管理 (即session復制)
簡介:將一台機器上的Session數據廣播復制到集群中其余機器上
使用場景:機器較少,網絡流量較小
優點:實現簡單、配置較少、當網絡中有機器Down掉時不影響用戶訪問
缺點:廣播式復制到其余機器有一定廷時,帶來一定網絡開銷
2. Session Sticky 方式管理
簡介:即粘性Session、當用戶訪問集群中某台機器后,強制指定后續所有請求均落到此機器上
使用場景:機器數適中、對穩定性要求不是非常苛刻
優點:實現簡單、配置方便、沒有額外網絡開銷
缺點:網絡中有機器Down掉時、用戶Session會丟失、容易造成單點故障
3. 緩存集中式管理
簡介:將Session存入分布式緩存集群中的某台機器上,當用戶訪問不同節點時先從緩存中拿Session信息
使用場景:集群中機器數多、網絡環境復雜
優點:可靠性好
缺點:實現復雜、穩定性依賴於緩存的穩定性、Session信息放入緩存時要有合理的策略寫入
