LNMP动态缓存(nginx +tomcat+memcache) 实现session共享和会话保持

在上一篇中说到了挂掉server1的服务,然后在server2中可以实现会话保持,但是server1上之前的注册数据并不会同步到server2上,这时候就需要会话共享,让server1挂掉后,在server2上可以看到之前server1注册数据,并且在新的server2上实现会话保持

这个时候就要用到memcache这个存储节点,它属于交叉存储
tomcat1和tomcat2上面都有memcache存储(把数据缓存在内存当中)
分别为memcache1和memcache2
这两个存储节点属于存储节点
当tomcat1挂了之后,客户1就会去访问tomcat2对应的memcache
这时候会把用户放在memcache1的数据全部放到memcache2上面
如果tomcat服务器都好着,memcache不会同步数据过,一旦坏了立刻同步数据过来
这就是memcache-session交叉存储的好处

什么是session?
Session 是另一种记录客户状态的机制,不同的是 Cookie 保存在客户端浏览器中,而 Session 保存在服务器上
客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是 Session
客户端浏览器再次访问时只需要从该 Session 中查找该客户的状态就可以了
session共享原理及实现共享
http协议是无状态的,即你连续访问某个网页100次和访问1次对服务器来说是没有区别对待的,因为它记不住你

当两台后端服务器中由一台挂掉了,能否保证数据不丢失并转移到另外一台服务器中,这就需要会话共享,操作如下:

查看server1和server2的tomcat服务是否开启,8080端口
在这里插入图片描述
在这里插入图片描述
在server2上面:
yum install memcached -y 安装缓存的服务
在这里插入图片描述
== server1上面:==
cd //usr/local/tomcat/lib
查看tomcat下当前的jar包
在这里插入图片描述
从真机上面拷贝memcache-session到server1和server2这两个tomcat服务器上面
在这里插入图片描述
在server1上面
将拷贝过来的jar目录下面所有jar包移到当前目录
在这里插入图片描述
删除重复多余的包
在这里插入图片描述
server2上一样的操作
在这里插入图片描述
在server1上
cd /usr/local/tomcat/
cd conf/
vim server.xml编辑tomcat的配置文件,解释了三个端口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
server1和server2修改context.xml文件,然后关闭再重启tomcat
cd /usr/local/tomcat/conf/
vim context.xml
加入实现session共享的内容

在这里插入图片描述
在这里插入图片描述
== 在server1上面;==
cd /usr/local/tomcat/bin/
./shutdown.sh
./startup.sh 重启tomcat服务

在server2上面:
/etc/init.d/memcached status
/etc/init.d/memcached start开启memcache服务
cd /usr/local/tomcat/bin/
./shutdown.sh
./startup.sh开启tomcat服务
在这里插入图片描述
netstat -antlupe
在这里插入图片描述
== 测试:看有没有实现数据共享(通过memcache)==

在浏览器里面输入172.25.15.1/test.jsp,注册信息这个属于动态处理
开始注册信息(多注册几个),一直是tomcat2服务器接受请求
在这里插入图片描述
然后关闭server2的tomcat服务
在这里插入图片描述
继续注册信息(多注册几个),发现同一个用户注册所有的数据会同步过来,且server info变成了 server1
在这里插入图片描述
如果两个都好着,不会同步,一旦一个宕机,数据会利马同步到另外一个上面
这样就实现了数据的转移

在server1中
在这里插入图片描述
在这里插入图片描述
vim catalina.out 可以看到数据迁移记录
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值