一、粘性session
通过nginx中的upstream中配置ip_hash;使客户端和第一次访问的服务器进行绑定。
二、服务器session复制
给Tomcat配置集群版,并开启网络广播策略。使的一个节点接收到session后,使其他节点都同步该节点的session。
2.1、terracotta实现session复制(优化版)
corracotta将一台节点变化的数据,然后由terracotta把变化了的数据发给terracotta服务器,最后发送给需要数据的节点。
三、数据库持久化操作
缺点:当访问量大时,会对数据库访问造成很大的访问压力
四、session共享机制(两种方式)
借用分布式缓存memcached、redis,必须是集群
4.1、粘性session
每个Tomcat对应一个memcached,memcached之间数据同步。先在一台节点创建session,然后同步到对应的memcached。当一个节点挂了以后,从另外一个节点获取session,如果没有,则从对应的memcached中获取。
4.2、非粘性session
memcached建立主从复制,在从memcached写入,读从memcached读取。Tomcat本身是不存储session信息的。