tomcat使用Spring-Session实现session同步

前言:

nginx实现提供了Ip_hash的方式实现了tomcat的集群,但未实现session的同步,当被分配的tomcat节点挂掉了,改系统的session信息将丢失,因此选用以下两种方式。

1.tomcat Cluster实现session同步,这种方式是通过多个节点间定时的同步每个节点session中的信息来实现session同步的,这种效率低,同时依赖tomcat这种平台,不推荐使用,如果大家需要使用,tomcat 的 \webapps\docs\cluster-howto.html文件提供了实现session同步的配置方法,大家可以参看,那么是否存在一种可以解决夸平台,同时与代码的耦合度低的session同步的方式呢,大家请继续看spring-session搭建session同步.

2.Spring-Session搭建tomcat节点间session同步,具体配置如下。

pom.xml相关配置

 
    
      org.springframework.session
      spring-session-data-redis
      1.2.1.RELEASE
    
    
      redis.clients
      jedis
      2.8.1
    

spring ioc中的配置:

 
        
    
    
    
        
        
    
    
        
        
        
        
        
        
    

 web.xml中的配置:

 
  
    springSessionRepositoryFilter
    org.springframework.web.filter.DelegatingFilterProxy
  
  
    springSessionRepositoryFilter
    /*
  
  

  说明:spring-session是将session信息保存在redis中,多个节点同时公用redis中的session信息,以达到session同步的目的,因此在配置完成后一定要保证redis的服务端是启动的。

你可能感兴趣的:(java,web)