分布式架构下,Session 共享有什么方案?

1、采用无状态服务,抛弃session

2、存人cookie(有安全风险)

3、服务器之间进⾏ Session 同步

这样可以保证每个服务器上都有全部的 Session 信息,不过当服务器数量⽐较多的时候,同步是会有延迟甚⾄同步失败

4、 IP 绑定策略

使⽤ Nginx (或其他复杂均衡软硬件)中的 IP 绑定策略 同⼀个 IP 只能在指定的同⼀个机器访问 ,但是这样做失去了负载均衡的意义,当挂掉⼀台服务器的时候,会影响⼀批⽤户的使⽤,⻛险很⼤;

5、使用Redis 存储

Session 放到 Redis 中存储,虽然架构上变得复杂,并且需要多访问⼀次 Redis ,但是这种⽅案带来的好处也是很⼤的:

  • 实现了 Session 共享
  • 可以 ⽔平扩展 (增加 Redis 服务器);
  • 服务器重启 Session 不丢失 (不过也要注意 Session 在 Redis 中的刷新/失效机制);
  • 不仅可以 跨服务器 Session 共享 ,甚⾄可以 跨平台 (例如⽹⻚端和 APP 端);

分布式架构下,Session 共享有什么方案?_第1张图片

 

你可能感兴趣的:(#,分布式与微服务,服务器,负载均衡,java,微服务,分布式)