【问题标题】:Apache mod_proxy_balancer dynamically stop forwarding requests to time-outing memberApache mod_proxy_balancer 动态停止向超时成员转发请求
【发布时间】:2011-10-01 18:52:57
【问题描述】:

Apache mod_proxy_balancer

我正在尝试将 apache mod_proxy_balancer 配置为充当 HTTP VIP 并代表其背后的 2 个 IIS 服务器。

VIP 的配置方式如下:

<Proxy balancer://appcluster>
        BalancerMember http://IP-IIS1:80 route=iis1 max=160 timeout=60
        BalancerMember http://IP-IIS2:80 route=iis2 max=160 timeout=60
        ProxySet stickysession=SERVERID
        Order Allow,Deny
        Allow from all
        Deny from XXX.XXX.XXX.XXX
        Deny from XXX.XXX.XXX.XXX
</Proxy>

有时我会安排在其中一台 IIS 服务器上执行的任务。可以是其中任何一个。由于我无法将它绑定到它可以在任何 IIS 上启动的服务器之一,因此问题来了:

当任务被执行时,它会导致其中一台服务器处理传入请求的速度非常慢,因此需要很长时间来处理 Apache 转发给它的请求,这比 Apache 60 中配置的超时时间还要长秒。

有没有办法让 mod_proxy_balancer 识别这种情况并停止将请求转发到慢速服务器,例如从平衡池中动态取出?

【问题讨论】:

  • 我找到了这个,但我不确定它是否能满足我的需求:&lt;Proxy balancer://appcluster timeout=10 maxattempts=2 lbmethod=byrequests&gt;

标签: apache2 load-balancing mod-proxy


【解决方案1】:

这个模块需要mod_status的服务。平衡器管理器 启用平衡器成员的动态更新。您可以使用平衡器 经理改变平衡因子或特定成员,或把它 在离线模式下。

因此,为了获得负载均衡管理的能力, mod_status 和 mod_proxy_balancer 必须存在于服务器中。

从 example.com 为浏览器启用负载平衡器管理 domain 将此代码添加到您的 httpd.conf 配置文件中

SetHandler 平衡器管理器

Order Deny,Allow Deny from all Allow from .example.com

您现在可以使用 Web 浏览器访问负载平衡器管理器 访问页面http://your.server.name/balancer-manager

->http://ceviri.belgeler.gen.tr/apache/htdocs/2.2/mod/mod_proxy_balancer.html

【讨论】:

  • 线程、worker 等的可见性如何解决我上面描述的问题?我需要一些能够自动停止将请求转发到响应缓慢的服务器的东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-12
  • 2019-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多