前言
上节课我们学习了如何使用 Spring Boot 整合 Redis,在实际开发中 Redis 有一个非常重要的应用就是使用它来完成 Session 共享。Session 是由 Servlet 创建并管理的,将数据保存在服务端内存中,所谓的 Session 共享并不是单体应用的范畴,如果需要实现负载均衡,为项目搭建服务端集群,那么此时就需要考虑 Session 共享的问题了,为什么呢?
因为在集群项目架构中,同一个客户端的不同请求有可能被分配到不同的服务终端,如下图所示。
不同服务终端的 Session 数据必须要同步,如何来解决这一问题呢?不用担心,Spring Boot 为我们提供了自动化 Session 共享解决方案,使用起来非常简单,Spring Boot 就是通过整合 Redis 来完成这一功能的,原理很简单,将各个服务终端的 Session 取出来放到一个共享服务器上,统一管理,如下图所示。