SpringBoot+Redis实现Session数据共享
1.需求在传统的Web小规模并发的情况下,单个Tomcat容器往往就能胜任请求的负载与处理,如图1所示的方案一。方案一的好处在于,部署简单,维护方便,在Web服务发生变更之后,能够快速升级;除此之外,在用户Session管理方面也十分简单:将所有Session存储至本地服务器即可。但是该方案存在并发规模小、单点故障等原因。 图1 单节点Tomcat示意图 针对方案一存在的负载小、单点故障等因素,方案二进行了大规模的改进。首先,使用NGINX+keepalived取代原来的单节点Tomcat,同时以NGINX作为反向代理服务器,管理多个Tomcat服务节点。如图2所示。 图2 多节点Tomcat部署示意图 从图2可以看出,单节点部署的用户请求负载,从单个Tomcat服务器转移到了Nginx负载(还有其他负载均衡方式)下的多个Tomcat节点,从而实现了单个Web服务的负载均衡与备份。而各个Tomcat节点与NGINX之间,则是采用反向代理的形式进行通信,具体方法有以下五种:**1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 upstr...
