为什么会有分布式session?
当单机系统不能支撑服务的时候,通常的做法是将服务部署到多台tomcat服务器,通过nginx进行负载均衡,也就是对服务进行水平扩展,
水平扩展之后,每个Tomcat的session是独立的,不共享的,用户通过session访问到tomcat集群中的A,若A挂掉,将用户请求转发到B,其内并没有用户的session信息,导致获取用户信息失败.
在分布式系统下,每个服务是部署在不同的服务器上的,同样的,session是不能共享的
分布式系统下的session:
用户只需登录一次就可以访问相互信任的链接.
用户登录,后端生成token,token作为key,用户信息为value保存到redis服务中,并设置过期时间,将token返回客户端,
用户请求其他页面的时候会将token带到后端,后端通过token获取用户信息