session共享的实现

解决方案一:基于Nginx的ip_hash 负载均衡

解决方案二:基于Tomcat的session复制

 

 

 

 

解决方案三:使用Redis作缓存session的统一缓存
这种方案呢,其实就是把每次用户的请求的时候生成的sessionID给放到Redis的服务器上。而后在基于Redis的特性进行设置一个失效时间的机制,这样就能保证用户在咱们设置的Redis中的session失效时间内,都不须要进行再次登陆。

mysql

springsession的原理web

实现原理这里简单说明描述:redis

就是当Web服务器接收到http请求后,当请求进入对应的Filter进行过滤,将本来须要由web服务器建立会话的过程转交给Spring-Session进行建立,原本建立的会话保存在Web服务器内存中,经过Spring-Session建立的会话信息能够保存第三方的服务中,如:redis,mysql等。Web服务器之间经过链接第三方服务来共享数据,实现Session共享!spring

记录一个小点:sql

Spring Session + Redis实现分布式Session共享 有个很是大的缺陷, 没法实现跨域名共享session , 只能在单台服务器上共享session , 由于是依赖cookie作的 , cookie 没法跨域spring Session通常是用于多台服务器负载均衡时共享Session的,都是同一个域名,不会跨域。你想要的跨域的登陆,可能须要SSO单点登陆跨域

相关文章
相关标签/搜索