分布式Session的解决方案
我们都知道Session在单体项目里面是没有问题的,但是在分布式下就会出现问题。
常见分布式Session的解决方案:
- 采用无状态服务,抛弃Session。
- 存入cookie(有安全风险)
- Session同步,收到Session的服务,第一时间同步给其他服务。实现框架:spring session。【会有同步延迟和失败的风险】
- IP绑定,使用Nginx或者网关实现负载均衡,同一个ip只能访问同一个机器。【失去了负载均衡的意义,容易单点故障,挂了就会影响一部分用户的使用】
- 使用Redis,将Session放到redis中存储。【麻烦,且要多访问一次redis】
- 使用数据库,和redis差不多,效率比redis还低。
基于reids实现分布式session:https://blog.csdn.net/fanrenxiang/article/details/81738634