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> 方便取值,方便存值,
来源: http://www.bubuko.com/infodetail-2460636.html