Apache+Tomcat关于Session Sticky的负载均衡

原创 2013年12月03日 17:55:25

参数参考:http://httpd.apache.org/docs/current/mod/mod_proxy.html

选取Apache HTTP Server作为前端的负载服务器,后端选取两个Tomcat作集群,此次选择的配置方式为Session Sticky(粘性Session),这种方式将同一用户的请求转发到特定的Tomcat服务器上,避免了集群中Session的复制,缺点是用户只跟一种的一台服务器通信,如果此服务器down掉,那就废了。
采用的model为mod_proxy_ajp.so,整个配置在tomcat的配置文件中都有相关的注释,只需作相应修改就OK。
我们选取的是Apache HTTP Server2.2.25,Tomcat5.5.35。
首先安装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 /test balancer://mycluster stickysession=JSESSIONID|jsessionid scolonpathdelim=On 
<Proxy balancer://mycluster>
BalancerMember http://192.168.1.50:80 route=tomcat1
BalancerMember http://192.168.1.51:80 route=tomcat2
</Proxy>
接下来修改Tomcat的server.xml文件,如下:

<!-- Define the top level container in our container hierarchy -->
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

下面用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 HTTP Server作为前端的负载服务器,后端选取两个Tomcat作集群,此次选择的配置方式为Session Sticky(粘性Session),这种方式将同一用户的请求转发到特定...

Apache+Tomcat负载均衡两种session共享方式的设置之一粘性会话

本文的测试环境为windows xp session共享有两种方式: 1、请求精确集中定位,即当前用户的请求都集中定位到一台服务器中,这样单台服务器保存了用户的session登录信息,如果宕机,则...

Apache+Tomcat负载均衡两种session共享方式的设置

session共享有两种方式: 1、session共享,多个服务器session拷贝保存,一台宕机不会影响用户的登录状态; 2、请求精确集中定位,即当前用户的请求都集中定位到一台服务器中,...

Apache+Tomcat负载均衡两种session共享方式的设置

session共享有两种方式: 1、session共享,多个服务器session拷贝保存,一台宕机不会影响用户的登录状态; 2、请求精确集中定位,即当前用户的请求都集中定位到一台服务器中,...

apache + tomcat集群负载均衡,Session复制

转自:http://jackandroid.iteye.com/blog/627147  无意间看到tomcat 6集群的内容,就尝试配置了一下,还是遇到很多问题,特此记录。apache服务器和...
  • bubaxiu
  • bubaxiu
  • 2015年03月15日 14:55
  • 1055

Apache+Tomcat实现负载均衡及集群(session同步)--一、前言

Tomcat不多说了,是比较流行的web、app服务器。之所以说是web、app服务器,是因为Tomcat即能提供web服务器的功能,又能提供app服务器(应用服务器的功能)。web服务器和app服务...
  • azhegps
  • azhegps
  • 2017年05月24日 17:57
  • 147

Apache + tomcat实现高并发负载均衡方案(四)----实现session共享(memcache)的集群

1.方案特点 Apache端使用AJP方式连接后端TOMCAT,启用sticky,实现会话级别的负载均衡。APACHE端配置支持后端TOMCAT节点的故障转移。可选的APACHE通过keepal...

Windows下Apache2.2+Tomcat6配置集群、负载均衡、session共享

转自:http://yulinyyb001.iteye.com/blog/1308609 公司网站有一个需求:要保证网站7*24小时不间断的运行,服务器更新时,对用户是透明的。   ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Apache+Tomcat关于Session Sticky的负载均衡
举报原因:
原因补充:

(最多只允许输入30个字)