有以下几种方式:
使用均衡负载根据ip地址hash到同一台tomcat
粘滞session,实际应用较少。
使用tomcat自带的集群机制
只支持小规模集群。
自定义tomcat的manager实现方式,将默认的内存session管理交由redis来管理
实现相对较为复杂,需要对tomcat较为熟悉,有现成开源框架RedisSessionManager。只适用于tomcat,且并不支持tomcat8。
自定义Filter过滤器
自定义一个过滤器过滤所有请求,用Wrapper包装request和response,并重写getSession的逻辑,将Session交给Redis来存储从而实现分布式Session。Spring-Session就是基于这种方式实现的。优点是通用性强,不局限于某种容器。