前言
在传统的单体应用中,所有用户请求都由同一台服务器处理,会话(Session)信息通常保存在服务器内存中即可。
客户端第一次登录后,服务端会创建一个 Session 并生成 SessionId,保存在服务端内存中,同时将 SessionId 通过 Cookie 返回给客户端。之后客户端的每次请求都会携带该 SessionId,服务端即可识别用户的登录状态。
然而,随着业务规模扩大和访问量增加,单台服务器已无法承受高并发请求,我们往往会采用 Nginx + 多台应用服务器 的负载均衡方式进行水平扩展。
此时,Session 共享问题便随之出现。