应用横向扩展成多实例后,用户的登录态不能再「只存在这台机器上」。分布式会话要解决的问题是:用户这次落在 A 机器、下次落在 B 机器,如何仍是同一个已登录用户。
1. 为什么本地 Session 会失效
传统 Servlet 容器把 HttpSession 存在当前 JVM 的内存里。单机时代没问题,一旦前面挂上负载均衡:
负载均衡
/ \
实例A 实例B
(登录态在A) (B没有A的登录态)
2026/10/11大约 5 分钟