铜陵有色池州公司招聘:Apache+Tomcat关于Session Sticky的负载均衡
来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 23:53:49
Apache+Tomcat关于Session Sticky的负载均衡
选取Apache HTTP Server作为前端的负载服务器,后端选取两个Tomcat作集群,此次选择的配置方式为Session Sticky(粘性Session),这种方式将同一用户的请求转发到特定的Tomcat服务器上,避免了集群中Session的复制,缺点是用户只跟一种的一台服务器通信,如果此服务器down掉,那就废了。
采用的model为mod_proxy_ajp.so,整个配置在tomcat的配置文件中都有相关的注释,只需作相应修改就OK。
我们选取的是Apache HTTP Server2.2.4,Tomcat5.5.16。
首先安装Apache HTTP Server,然后修改其配置文件http.conf,首先load三个model,代码如下:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
然后在此配置文件末端加入以下代码:
ProxyPass / balancer://tomcatcluster/ lbmethod=byrequests stickysession=JSESSIONID nofailover=Off timeout=5 maxattempts=3
ProxyPassReverse / balancer://tomcatcluster/
BalancerMember ajp://localhost:8009 route=a
BalancerMember ajp://localhost:9009 route=b
以上代码配置了Proxy的相关参数,模块定义了均衡负载的配置,其中两个Tomcat Server都配置在同一台服务器上,端口分别为8009、9009,并配置各自的route,这样Apache Server就能根据route将请求转发给特定的Tomcat。
接下来修改Tomcat的server.xml文件,如下:
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
其中的port为前面中设定的端口,还要配置其route,代码如下:
jvmRoute也须同前面的设置一样。
下面用JMeter对配置后的负载均衡做一测试,首先先启动两个Tomcat Server,随后启动Apache Server,在JMeter中新建测试计划,在两个Tomcat Server中的jsp-examples下新建test.jsp(此jsp自己随便写两句就成),然后进行测试,以下是部分取样器结果:
HTTP response headers:
HTTP/1.1 200 OK
Date: Wed, 11 Jul 2007 02:17:55 GMT
Set-Cookie: JSESSIONID=AC7EF1CAA8C6B0FEB68E77D7D375E2AF.b; Path=/jsp-examples
Content-Type: text/html;charset=ISO-8859-1
Content-Length: 3
Keep-Alive: timeout=5, max=79
Connection: Keep-Alive
以上红色代码表示用户的http请求中的JSESSIONID中已经附带了route后缀,.b表示此请求将转发到route为b的Tomcat Server上,你将会发现其中的一部分请求的JSESSIONID后缀为.a,也就是转发给route为a的Tomcat Server上。
选取Apache HTTP Server作为前端的负载服务器,后端选取两个Tomcat作集群,此次选择的配置方式为Session Sticky(粘性Session),这种方式将同一用户的请求转发到特定的Tomcat服务器上,避免了集群中Session的复制,缺点是用户只跟一种的一台服务器通信,如果此服务器down掉,那就废了。
采用的model为mod_proxy_ajp.so,整个配置在tomcat的配置文件中都有相关的注释,只需作相应修改就OK。
我们选取的是Apache HTTP Server2.2.4,Tomcat5.5.16。
首先安装Apache HTTP Server,然后修改其配置文件http.conf,首先load三个model,代码如下:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
然后在此配置文件末端加入以下代码:
ProxyPass / balancer://tomcatcluster/ lbmethod=byrequests stickysession=JSESSIONID nofailover=Off timeout=5 maxattempts=3
ProxyPassReverse / balancer://tomcatcluster/
BalancerMember ajp://localhost:8009 route=a
BalancerMember ajp://localhost:9009 route=b
以上代码配置了Proxy的相关参数,
接下来修改Tomcat的server.xml文件,如下:
其中的port为前面
jvmRoute也须同前面的设置一样。
下面用JMeter对配置后的负载均衡做一测试,首先先启动两个Tomcat Server,随后启动Apache Server,在JMeter中新建测试计划,在两个Tomcat Server中的jsp-examples下新建test.jsp(此jsp自己随便写两句就成),然后进行测试,以下是部分取样器结果:
HTTP response headers:
HTTP/1.1 200 OK
Date: Wed, 11 Jul 2007 02:17:55 GMT
Set-Cookie: JSESSIONID=AC7EF1CAA8C6B0FEB68E77D7D375E2AF.b; Path=/jsp-examples
Content-Type: text/html;charset=ISO-8859-1
Content-Length: 3
Keep-Alive: timeout=5, max=79
Connection: Keep-Alive
以上红色代码表示用户的http请求中的JSESSIONID中已经附带了route后缀,.b表示此请求将转发到route为b的Tomcat Server上,你将会发现其中的一部分请求的JSESSIONID后缀为.a,也就是转发给route为a的Tomcat Server上。
Apache+Tomcat关于Session Sticky的负载均衡
基于apache的tomcat负载均衡和集群配置
windows 下 Nginx + tomcat 负载均衡配置
Nginx负载均衡和LVS负载均衡的比较分析
问几个极菜的问题(关于tomcat和apache和java),UP有分
Nginx 简单的负载均衡配置示例
服务器负载均衡的部署方式
关于Tomcat的Monitor Tomcat设置
简单比较Apache+Tomcat的mod_jk和mod_proxy方法
lvs负载均衡
nginx 负载均衡配置
memcached集群负载均衡
Nginx负载均衡基础知识
什么是负载均衡?
利用虚拟下一跳实现IBGP的负载均衡
Apache + Tomcat集群配置详解
Apache与Tomcat的区别以及几种常见的web应用服务器
Apache HTTP Server 与 Tomcat 的三种连接方式介绍
Windows中如何配置tomcat+apache
“软”负载均衡学习点滴(一) - 文初的分享空间 - CSDN博客
添加服务器做负载均衡方法
Linux 下 nginx 负载均衡配置
路由器基础知识:全面解读负载均衡技术
服务器群动态负载均衡综合方案