1.美图
2.概述
在微服务架构中,往由多个微服务共同⽀撑前端请求,如果涉及到⽤户状态就需要考虑分布式 Session 管理问题,⽐如⽤户登录请求分发在服务器 A,⽤户购买请求分发到了服务器 B, 那么服务器就必须可以获取到用户的登录信息,否则就会影响正常交易。因此,在分布式架构或微服务架构下,必须保证一个应用服务器上保存 Session 后,其他应⽤服务器器可以同步或共享这个 Session
3.方案
目前主流的分布式 Session 管理有两种方案。
3.1 Session 复制
部分 Web 服务器能够支持 Session 复制功能,如 Tomcat。⽤户可以通过修改 Web 服务器的配置⽂文件,让Web 服务器进行 Session 复制,保持每一个服务器节点的 Session 数据都能达到⼀致。
这种⽅案的实现依赖于 Web 服务器,需要 Web 服务器有 Session 复制功能。当 Web 应⽤中 Session 数量较多的时候,每个服务器节点都需要有⼀部分内存⽤来存放