注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天朝布衣田中码农参上

苦逼码农的点点滴滴,请多多指教!

 
 
 

日志

 
 
 
 

Apache集成Tomcat打造负载均衡  

2016-07-31 12:09:18|  分类: 服务器 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
虽然说现在Nginx来做负载均衡是潮流,但其实Apache集成Tomcat也同样可以做负载均衡。只不过就效果而言,可能没有那么好。首先还是来说下负载均衡,大体原理就是使用代理服务器将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的。这种代理方式与普通的正向代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。 
Apache的代理功能为mod_proxy的方式来实现的,因为在Apache2以上的版本中已经集成了,因此不需要再另行安装和配置了,只需要把httpd.conf文件中的相关注释去掉即可:

LoadModule proxy_module modules/mod_proxy.so #提供代理服务器功能
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so #提供负载均衡功能
LoadModule proxy_http_module modules/mod_proxy_http.so #让代理服务器能支持HTTP协议

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so #如果使用AJP协议,那么这个也要打开

ProxyRequests Off #开启ProxyPass时,此开关需要关闭

然后就需要配置负载均衡服务器:

<proxy balancer://tomcatcluster>
#以下设置参数,最大链接,超时,等等,loadfactor为权重因子,这里要记住route必须跟tomcat里面的配置相对应[如果不用AJP协议,可以不配],协议可以采用ajp或http
BalancerMember http://293.268.1.100:8080 loadfactor=1 route=tomcat_1 smax=5 max=20 ttl=120 retry=300 timeout=15
BalancerMember ajp://293.268.1.101:8009 loadfactor=1 route=tomcat_2 smax=5 max=20 ttl=120 retry=300 timeout=15
ProxySet lbmethod=byrequests #按照请求次数均衡(默认)
#ProxySet lbmethod=bytraffic # 按照流量均衡
#ProxySet lbmethod=bybusyness # 按照繁忙程度均衡(总是分配给活跃请求数最少的服务器)
</proxy>

最终就配置虚拟主机来开启使用负载均衡:

#虚拟机配置,负载均衡配置 注意空格
<VirtualHost *:80>
ServerAdmin admin@593668.com
ServerName localhost
ServerAlias localhost
#这里就让虚拟主机开启负载均衡
ProxyPass / balancer://tomcatcluster/ stickysession=JSESSIONID|jsessionid nofailover=On
ProxyPassReverse / balancer://tomcatcluster/
</VirtualHost>

这样Apache就已经配置好了,那么接下来就需要配置Tomcat的Service.xml中Engine 节点配置[另一台就需要配置为tomcat_2跟上面的参数相对应]。

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat_1">

然后把相应的Apache和Tomcat都重启下即可。最终还是说上一句,如果是用Apache搭配Tomcat,使用AJP协议经过实测效率会高些。当然如果您确定不用AJP协议,使用http协议也可。在这种情况下,最好关闭Tomcat的AJP相关设置,这样性能会更好些[将如下语句注释掉]。

<!--<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />-->

当然Apache的负载均衡其实也并不限于跟Tomcat配合,搭配Nginx或Lighttp什么的也同样可以,配置大体上都差不多,大家可以自行摸索。
  评论这张
 
阅读(0)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017