tomcat–session保持(交叉存储)
在上篇文章tomcat的基础上
在负载均衡的作用下,如果后端的一台real server shut掉,再度新的请求时,是否能从上一次服务最后的信息开始
在server2和server3上:


测试:
每一次刷新访问,浏览器都会提供一个session
每次进来,被反向代理器调度,都会产生一个新的session
目前session不会保存


在server1上:
vim nginx.conf
nginx -t
nginx -s reload

测试:
在加入ip_hash的情况下被绑定
什么都不会变

如果 这个时候把server的 8080端口停了

反向代理调度到server3
刷新网页,用户信息依然在丢失

为了解决这个问题 使用交叉存储
如果有一台服务器shut掉,另一台在上线,就可以提供以前的session
在server2和server3上:



vim /usr/local/tomcat/conf/context.xml
server2: n1
server3:n2


同时下载 yum install memcached -y


cd /usr/local/tomcat/
bin/shutdown.sh
bin/startup.sh
测试:
实现了交叉存储

此时,停掉server2 tomcat,反向代理调度新的请求

在负载均衡的环境中,解决Tomcat服务器session丢失问题,采用交叉存储方案。当一台服务器停止后,另一台能够继续提供之前的session信息,确保用户会话的连续性。测试结果显示,在server2和server3上实现交叉存储后,即使停掉一台服务器,session仍能有效保持。
1264

被折叠的 条评论
为什么被折叠?



