补习系列(15)-springboot 分布式会话原理
[TOC] 一、背景 在 补习系列(3)-springboot 几种scope 一文中,笔者介绍过 Session的部分,如下: 对于服务器而言,Session 通常是存储在本地的,比如Tomcat 默认将Session 存储在内存(ConcurrentHashMap)中。 但随着网站的用户越来越多,Session所需的空间会越来越大,同时单机部署的 Web应用会出现性能瓶颈。这时候需要进行架构的优化或调整,比如扩展Web 应用节点,在应用服务器节点之前实现负载均衡。 那么,这对现有的会话session 管理带来了麻烦,当一个带有会话表示的Http请求到Web服务器后,需求在请求中的处理过程中找到session数据,而 session数据是存储在本地的,假设我们有应用A和应用B,某用户第一次访问网站,session数据保存在应用A中;第二次访问,如果请求到了应用B,会发现原来的session并不存在! 一般,我们可通过集中式的 session管理来解决这个问题,即分布式会话。 [图 - ] 分布式会话 二、SpringBoot 分布式会话 在前面的文章中介绍过Redis 作为缓存读写的...