如图所示,一个分布式部署的Web服务器将用户的Session信息(例如用户登录信息),保存在各自服务器内部。这样会造成一个问题,在分布式部署多个Web服务器时,我们通常会采用负载均衡算法,将多个用户的请求平均地分散到不同的web服务器来处理。如果上一次请求在Web服务器1,进行了登录,第二次请求时,由于负载均衡算法,Web服务器2来处理了请求,此时Web服务器2里面是没有存放相应的登录信息的。所以从用户角度来看就是,可能刷新了一次浏览器,用户就需要重新登录了,这个问题用户是无法容忍的。
为了解决这个问题,可以使用Redis将用户Session进行集中管理。在这种模式下,只需要保证Redis是高可用和高扩展的,每次用户更新或者查询登录信息都直接从Redis中集中获取