1.基于IP地址的Hash策略:

将同一用户的请求都集中在一台服务器上,这台服务器上保存了该用户的Session信息。
缺点:单点部署发生宕机时,Session丢失。

2.每台tomcat都存一份:

可以用Tomcat自带的插件进行Session同步,使得多台应用服务器之间自动同步Session,保持一致。如果一台发生故障,负载均衡会遍历寻找可用节点,Session也不会丢失。缺点:必须是Tomcat和Tomcat之间,Session的复制也会消耗系统的性能,使得同步给成员时容易造成内网流量瓶颈。

3.基于Redis的Session共享实现

1)原理:写一个Session过滤器拦截每一次请求,在这里检查由Cookie生成的SessionID,进行创建或获取。核心是实现使用装饰类,实现Session在Redis中的存取操作。
2)此处存取方式为 sessionID+sessionKey作为Redis的key ==== sessionValue作为Redis的value,这样保存了每次存取都从Redis中操作,效率更高。
3)注意:序列化方式推荐使用Apache下Commons组件——SerializationUtils 或 org.springframework.util.SerializationUtils。
image.png
https://www.cnblogs.com/lyjin/p/6293570.html