session共享
用于在用户切换系统时保持用户状态的连续性,例如已加入购物车的物品不会消失
部署tomcat
一个为 Java Web 应用程序量身打造的“引擎”或“容器”,负责接收用户的网页请求,并调用相应的 Java 程序来处理这些请求,最终生成动态的网页内容返回给用户
sever2与sever3都需要部署
安装java运行环境和开发工具
官网下载core的tar.gz
或者直接从阿里云镜像下载
将其解压缩到指定目录
创建软链接,进入目录
启动服务,查看端口验证
浏览器访问sever2ip的8080端口
nginx整合tomcat
回到sever1,修改nginx的配置文件
将后端改为tomcat处理
,当nginx识别到jsp请求,将jsp请求发送给tomcat处理
重启
在sever2与sever3的/usr/local/tomcat/webapps/ROOT下拷贝test.jsp
浏览器访问主serverip/test.jsp,转到了sever2
停止sever2上的服务
nginx对后端的tomcat具有健康检测,自动切到sever3上的tomcat服务,但sever2上的session丢失
tomcat整合memcache
tomcat服务通过msm模块把session信息交叉存储到memcached上,解决了当用户请求被nginx分发到不同 tomcat 服务器时,因 session 不一致导致的“登录态丢失”、“购物车清空”等问题
sever2与sever3同步进行
下载memcached服务
设置开机自启,查看端口
下载msm,目的是让所有tomcat能使用共同的memcache缓存
将下载的文件全部复制到指定目录,使其启动时能被自动加载
同步给sever3
进入tomcat的配置目录
修改文件
指定使用msm管理session,配置两个节点分别存储session,sever3上n1改为n2
关闭,重新启动
查看日志,sever3上n1与n2的位置相反
浏览器访问主sever/test.jsp
添加session
此时为sever2节点,存在session
关闭sever2的tomcat服务
刷新页面,nginx自动切换到sever3的tomcat服务,且缓存保留,同样的,当sever2的memcache服务关闭,nginx也会自动使用sever3的memcache服务