首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解apache的mod_proxy_balancer模块

理解apache的mod_proxy_balancer模块
EN

Server Fault用户
提问于 2011-08-24 15:56:36
回答 2查看 1.6K关注 0票数 0

我正在尝试为几个few服务器设置一个负载均衡器。我在apache服务器上使用centos5.6(服务器版本: Apache/2.2.3)。我有一个客户端生成器,它生成大约200个线程,并试图通过负载平衡器浏览网页。为此,我使用了apache mod_proxy_balancer。这是我的设计:

代码语言:javascript
复制
<IfModule mod_proxy_balancer.c>
   <Proxy balancer://xx.xx.xx.xx>
         BalancerMember yy.yy.yy.yy loadfactor=1
         BalancerMember zz.zz.zz.zz loadfactor=1
   </Proxy>

   <Location />
         ProxyPass       balancer://xx.xx.xx.xx/
   </Location>
</IfModule>

启动之后,几分钟后,我开始在客户端看到503个错误,apache错误日志如下:

代码语言:javascript
复制
[Mon Aug 22 10:19:09 2011] [error] (110)Connection timed out: proxy: HTTP: attempt to connect to yy.yy.yy.yy:80 failed

[Mon Aug 22 10:19:09 2011] [error] ap_proxy_connect_backend disabling worker for (yy.yy.yy.yy)

[Mon Aug 22 10:19:10 2011] [error] proxy: BALANCER: (balancer://xx.xx.xx.xx). All workers are in error state

我将httpd.conf中的超时时间更改为1200,我仍然遇到同样的问题。我可以理解,存在超时,它将ip标记为处于错误状态,并在特定时间后重试连接(按照文档的60秒)。它连接并继续良好地工作了几分钟,这个过程在一个循环中进行。我想知道如何解决这个问题,并了解导致超时的原因。如果我将客户端直接连接到一个后端服务器,它就能正常工作。因此,我想负载均衡器会造成瓶颈。任何能帮助我理解或解决这个问题的信息都是非常感谢的。谢谢!

  • 塞杜
EN

回答 2

Server Fault用户

发布于 2011-08-24 16:09:34

我通常在AJP和JBoss应用服务器上这样做,但我已经将其配置为如下所示:

代码语言:javascript
复制
<Proxy balancer://ajpcluster>     
  BalancerMember ajp://test.local.host:8109     
  BalancerMember ajp://test.local.host:8209   
</Proxy>
<Location /jconsole >  
  ProxyPass balancer://ajpcluster/jconsole stickysession=JSESSIONID|jsessionid nofailover=On
  ProxyPassReverse balancer://ajpcluster/jconsole
</Location>
票数 0
EN

Server Fault用户

发布于 2019-06-04 00:30:35

也许您需要在mod_proxy_balancer服务器的防火墙上列出带有BalancerMember的服务器的IP,通过它连接到节点?

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/304561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档