服务器(tomcat)之间进行session同步
服务器之间进行Session同步,这样可以保证每个服务器上都有全部的Session信息,不过当服务容器数量比较多的时候,同步是会有延迟甚至同步失败;
IP绑定策略
使用Nginx(或其他复杂均衡软硬件)中的IP绑定策略,同一个IP只能在指定的同一个机器访问,但是这样做失去了负载均衡的意义,当挂掉一台服务器的时候,会影响一批用户的使用,风险很大。
使用Redis存储
把Session放到Redis中存储,虽然架构上变得复杂,并且需要多访问一次Redis,但是这种方案带来的好处也是很大的;
- 实现了Session共享;
- 可以水平拓展(增加Redis服务器)
- 服务器重启Session不丢失(不过也要注意Session在Redis中的刷新/失效机制);
- 不仅可以跨服务器Session共享,甚至可以跨平台(例如网页端和APP端)