在分布式架构或微服务架构下,必须保证一个应用服务器上保存Session后,其它应用服务器能够同步或共享这个Session,可能会出如今A1系统登陆后建立并保存Session,再次发起请求,请求被转发到A2系统上显示未登陆的状况。如下是几种常见的分布式session管理方案:缓存
在单独的服务器或服务器集群上使用缓存技术,如Redis存储Session数据,集中管理全部的Session,全部的Web服务器都从这个存储介质中存取对应的Session,实现Session共享。
优势:可靠性高,减小Web服务器的资源开销。可用性高。安全
通常分布式架构下这种方式使用的最多。服务器
这种方式每次发起请求的时候都须要将Session数据放到Cookie中传递给服务端。
优势:不须要依赖额外外部存储,不须要额外配置。
缺点:不安全,易被盗取或篡改;Cookie数量和长度有限制,须要消耗更多网络带宽。
适用场景:数据不重要、不敏感且数据量小的状况。网络