1、新建3个相同的web项目,只有index中有点区别,这也是为了方便观察
1、项目如下
2、编辑index.jsp,只有后面的tomcat3 是不一样的,分别为tomcat1、tomcat2、tomcat3
<body> |
3、web.xml实现session复制,添加 标签
<?xml version="1.0" encoding="UTF-8"?> |
3、建立3个tomcat服务器
1、tomcat服务器位置
2、修改各自服务器的端口
1、 更改server和Connector端口.
1、tomcat1 中server的端口为18005,Connector端口为18080,;
2、tomcat2的分别是28005,28080
3、tomcat3分别是38085 ,38080
2、修改server.xml中为了实现session复制功能
1、取消Cluster节点的注释. (也就是添加集群)
2、保持每个Engine 节点jvmRoute的值是相同的. (sessionid的后缀)
3、tomcat1 中的的sever.xml
<?xml version='1.0' encoding='utf-8'?> |
3、布置这3个项目分部到 这3个服务器上去
1、项目位置
2、xml方式启动,这里不讲解
4、nginx配置
1、负载均衡
upstream mysite { |
2、反向代理,一定要记得添加下面的timeout ,否则浏览器会太慢
server { |
5、开始测试
1、启动3个tomcat
解释:会观察到其实这3个tomcat的session是一致的,因为我们已经完成session复制了
1、tomcat1
2、tomcat2
3、tomcat3
2、nginx、启动,实现负载均衡
1、随便刷新,会发现tomcat服务器再变化,但是session没有变化
5、如果是ip_hash
解释:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session不能跨服务器的问题。
如果后端服务器down掉,要手工down掉。(www.jbxue.com 整理)
upstream mysite { |
1、无论怎么刷新都是访问的tomcat3服务器,当然是随机访问的tomcat3