Apache + tomcat实现高并发负载均衡方案(二)----stickysession的集群
2015-02-16 17:02
916 查看
1.基础环境安装设置
操作系统环境,APACHE安装,TOMCAT集群安装,TOMCAT测试工程请参见:
Apache + tomcat实现高并发负载均衡方案(一)
2.TOMCAT配置
Tomcat集群配置后端Tomcat Server为支持AJP的独立服务,前端Apache配置为粘性会话(sticky-session),Tomcat不配置Cluster配置和Session复制。
配置Tomcat1的server.xml
修改:
Tomcat配置文件server.xml代码
为:
配置Tomcat2的server.xml
修改:
Tomcat配置文件server.xml代码
为:
Tomcat配置文件server.xml代码
注意:
后端tomcat服务配置文件server.xml中指定的端口后用于接收Apache的代理转发请求,在后续apache配置中使用,本例中tomcat1和tomcat2都使用相同的配置:8009
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
3.APACHE配置
apache的配置方式还是采用vhost方式配置,主配置文件(conf/httpd.conf)引用(include)vhost子配置文件(conf/extra/httpd-vhosts.conf)方式.
Apache的编译请参考:http://zp820705.iteye.com/blog/1347749
apache编译为支持Proxy后的module情况:
Apache主配置文件httpd.conf代码
Apache主配置文件httpd-vhosts.conf代码
Apache虚拟主机配置(httpd-vhost.conf)
Apache虚拟主机配置文件httpd-vhost.conf代码
stickysession=JSESSIONID|jsessionid
apache采用粘性会话配置,后端服务器是tomcat,指定sessionId参数为JSESSIONID和jsessionid,其中JSESSIONID是浏览器支持cookie方式session处理,jsessionid是客户端采用URL参数方式session处理。
nofailover=Off
表示apache-proxy支持failover,模式是支持的,可以不配置。
route=tomcat1和route=tomcat2
表示后端tomcat服务处理标志,与具体后端tomcat服务中的server.xml配置文件中的Engine节点配置的jvmRoute属性相同。
4.测试
浏览器访问测试
http://10.10.10.11/cluster/index.jsp
stickysession测试
访问http://10.10.10.11/cluster/index.jsp,反复刷新,应该是同一后端服务器支持服务。
使用restlet工具restclient(http://code.google.com/p/rest-client/)访问http://10.10.10.11/cluster/index.jsp,查看返回报文:
sessionId为:
红色tomcat1表示指定由后端tomcat1服务。
config_files.rar (15.1 KB)
下载次数: 47
查看图片附件
操作系统环境,APACHE安装,TOMCAT集群安装,TOMCAT测试工程请参见:
Apache + tomcat实现高并发负载均衡方案(一)
2.TOMCAT配置
Tomcat集群配置后端Tomcat Server为支持AJP的独立服务,前端Apache配置为粘性会话(sticky-session),Tomcat不配置Cluster配置和Session复制。
配置Tomcat1的server.xml
修改:
Tomcat配置文件server.xml代码
<Engine name="Catalina" defaultHost="localhost">
为:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
配置Tomcat2的server.xml
修改:
Tomcat配置文件server.xml代码
<Engine name="Catalina" defaultHost="localhost">
为:
Tomcat配置文件server.xml代码
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">
注意:
后端tomcat服务配置文件server.xml中指定的端口后用于接收Apache的代理转发请求,在后续apache配置中使用,本例中tomcat1和tomcat2都使用相同的配置:8009
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
3.APACHE配置
apache的配置方式还是采用vhost方式配置,主配置文件(conf/httpd.conf)引用(include)vhost子配置文件(conf/extra/httpd-vhosts.conf)方式.
Apache的编译请参考:http://zp820705.iteye.com/blog/1347749
apache编译为支持Proxy后的module情况:
Apache主配置文件httpd.conf代码
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_scgi_module modules/mod_proxy_scgi.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule ssl_module modules/mod_ssl.so LoadModule speling_module modules/mod_speling.so LoadModule rewrite_module modules/mod_rewrite.so删除主配置文件conf/httpd.conf文件中引用vhost的配置行的注释。
Apache主配置文件httpd-vhosts.conf代码
# Virtual hosts Include conf/extra/httpd-vhosts.conf
Apache虚拟主机配置(httpd-vhost.conf)
Apache虚拟主机配置文件httpd-vhost.conf代码
<VirtualHost *:80> ErrorLog "logs/acooly.org-error_log" LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon CustomLog logs/access_log vcommon ProxyRequests Off ProxyPreserveHost on # apache+tomcat cluster ProxyPass / balancer://tomcat-cluster/ stickysession=JSESSIONID|jsessionid nofailover=Off ProxyPassReverse / balancer://tomcat-cluster/ <Proxy balancer://tomcat-cluster/> BalancerMember ajp://10.10.10.11:8009 loadfactor=1 route=tomcat1 BalancerMember ajp://10.10.10.12:8009 loadfactor=1 route=tomcat2 ProxySet lbmethod=bybusyness </Proxy> </VirtualHost>
stickysession=JSESSIONID|jsessionid
apache采用粘性会话配置,后端服务器是tomcat,指定sessionId参数为JSESSIONID和jsessionid,其中JSESSIONID是浏览器支持cookie方式session处理,jsessionid是客户端采用URL参数方式session处理。
nofailover=Off
表示apache-proxy支持failover,模式是支持的,可以不配置。
route=tomcat1和route=tomcat2
表示后端tomcat服务处理标志,与具体后端tomcat服务中的server.xml配置文件中的Engine节点配置的jvmRoute属性相同。
4.测试
浏览器访问测试
http://10.10.10.11/cluster/index.jsp
stickysession测试
访问http://10.10.10.11/cluster/index.jsp,反复刷新,应该是同一后端服务器支持服务。
使用restlet工具restclient(http://code.google.com/p/rest-client/)访问http://10.10.10.11/cluster/index.jsp,查看返回报文:
sessionId为:
Set-Cookie | JSESSIONID=B7EACFABF5543D0E5C19155CCDC82D02.tomcat1; Path=/cluster |
config_files.rar (15.1 KB)
下载次数: 47
查看图片附件
相关文章推荐
- Apache + tomcat实现高并发负载均衡方案(三)----实现session复制的集群
- Apache + tomcat实现高并发负载均衡方案(四)----实现session共享(memcache)的集群
- Apache + tomcat实现高并发负载均衡方案(一)----无Session的平台接口服务
- Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(2)使用mod_proxy
- Apache+Tomcat实现负载均衡及集群(session同步)--三、动静分离(2)使用mod_proxy
- Apache+Tomcat实现负载均衡及集群(session同步)--四、负载均衡(1)使用mod_jk
- Apache+Tomcat实现负载均衡及集群(session同步)--一、前言
- Apache+Tomcat实现负载均衡及集群(session同步)--二、环境准备(1)
- Apache+Tomcat实现负载均衡及集群(session同步)--二、环境准备(2)
- Apache+Tomcat实现负载均衡及集群(session同步)--五、session同步(3)使用memcache
- Apache+Tomcat实现负载均衡及集群(session同步)--五、session同步(2)使用共享文件
- Apache+tomcat实现负载均衡集群和session共享、tengine+tomcat实现web动静分离
- Apache+Tomcat实现负载均衡及集群(session同步)--五、session同步(1)使用内存复制
- Apache+Tomcat实现负载均衡及集群(session同步)--二、环境准备(3)
- Apache Http Server与Tomcat实现负载均衡和集群
- Apache Http Server与Tomcat实现负载均衡和集群
- Apache Http Server与Tomcat实现负载均衡和集群
- Apache Http Server与Tomcat7.0实现负载均衡与集群
- nginx + tomcat 集群配置详解, 实现负载均衡 URLRewrite Session复制
- 使用Apache + mod_jk + tomcat来实现tomcat集群的负载均衡出现的无法加载mod_jk.conf文件的问题