1.nginx的ip hash、$cookie_jessionid(通过nginx-sticky实现)、$request_uri。
ip hash:是通过客户端传过来的ip地址,找到对应的hash值,再跟据hash值找到对应的服务器,去获取session的请求.
缺点:在同一局域网下的用户ip地址可能是同一个,那么找到对应的后端服务器会相同,会造成流量偏移,且如果这台服务宕机了,那么对应的session信息也会同步消失。
优点:响应速度快,因为是通过hash直连后端服务器。且相对于
2.redis+springsession
通过springsession相关操作将session保存在redis中提供给各个服务使用
缺点:加入redis和springSession相当于额外引入了系统,对于引入的系统也会提升运维和开发的成本,如果后端服务器过多回造成redis的不堪重负。
优点:redis可以作高可用或集群的模式保证数据的稳定性,即使某台后端服务器宕机后,redis还是会保存着会话信息。