轻量级应用服务器tomcat详解(二)如何实现会话保持连接

回眸只為那壹抹淺笑 提交于 2020-03-01 18:59:21

会话保持是什么

会话保持是指在负载均衡器上的一种机制,可以识别客户端与服务器之间交互过程的关连性,在作负载均衡的同时还保证一系列相关连的访问请求都会分配到一台机器上。在一次会话过程中发起的多个请求都会落到同一台机器上

cookie和session是什么

在这里插入图片描述在这里插入图片描述
把用户的数据交给流动的客户端(浏览器)来保存,是不安全,不可靠的。

在这里插入图片描述

实现步骤

实验背景

172.25.2.10 server1  nginx反向代理
172.25.2.11 serevr2  tomcat服务器1
172.25.2.254  server3  tomcat服务器3
172.25.2.2   真机 测试机
关闭它们的防护墙 selinux

1.将serevr2和server3中的tomcat的默认发布目录里写上test.jsp测试文件,这里以serevr2为例,serevr3的做法相同
在这里插入图片描述在这里插入图片描述2.在真机浏览器测试时,nginx实现轮询,页面的内容是每个主机的信息
在这里插入图片描述在这里插入图片描述此时session是无法保存的,每次刷新都会有一个新的session

在这里插入图片描述在这里插入图片描述在serevr1上,使同一个用户的请求会掉到同一个服务器,session请求也不会变
在这里插入图片描述在这里插入图片描述测试
在这里插入图片描述
新的问题:
在这里插入图片描述在这里插入图片描述如何实现session保持

在server2上

在这里插入图片描述只保留一个就够了
在这里插入图片描述编辑此文件,实现交叉存储
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述重启tomcat
在这里插入图片描述在server3中做serevr2的上述所有操作,区别只是文件中的内容

在这里插入图片描述测试:
在这里插入图片描述n2表示172.25.2.10的数据在自己的缓存中存储之后,还会在n2(172.25.2.254中存储一份)
在这里插入图片描述当把server2停掉之后,server3上线,此处他把自己的缓存在server1中也存储了一份。 注意,这里我们停掉的是server2的tomcat,而不是它的主机,因为它还要接受server3的缓存
在这里插入图片描述在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!