服务器(tomcat)之间进行session同步

服务器之间进行Session同步,这样可以保证每个服务器上都有全部的Session信息,不过当服务容器数量比较多的时候,同步是会有延迟甚至同步失败;

IP绑定策略

使用Nginx(或其他复杂均衡软硬件)中的IP绑定策略,同一个IP只能在指定的同一个机器访问,但是这样做失去了负载均衡的意义,当挂掉一台服务器的时候,会影响一批用户的使用,风险很大。

使用Redis存储

把Session放到Redis中存储,虽然架构上变得复杂,并且需要多访问一次Redis,但是这种方案带来的好处也是很大的;

  • 实现了Session共享;
  • 可以水平拓展(增加Redis服务器)
  • 服务器重启Session不丢失(不过也要注意Session在Redis中的刷新/失效机制);
  • 不仅可以跨服务器Session共享,甚至可以跨平台(例如网页端和APP端)