基于时间的apache web服务器负载均衡

时间:2016-03-03 11:50:21

标签: apache tomcat tomcat7

我在用于负载平衡的Apache Web服务器反向代理后面有两个Tomcat节点。

我是否有办法配置工作人员,以便仅在一天中的某些时间将其他主机添加到群集中?

1 个答案:

答案 0 :(得分:0)

虽然mod_jkmod_proxy_ajp(或mod_proxy_http)都没有任何针对高负载重新调整大小的特定功能(我知道),但我确实知道{{1}可以为许多后端实例(Tomcat节点)配置它们,并且它们不一定都必须一直运行。

例如,采用以下配置:

mod_jk

如果您只是关闭(或不启动)worker.list=T1lb, T2lb, T3lb, T4lb worker.T1lb.type-lb worker.T1lb.balance_workers=h1t1, h2t1, h3t1, h4t1 worker.T2lb.type-lb worker.T2lb.balance_workers=h1t2, h2t2, h3t2, h4t2 [etc for other combinations of TXlb] worker.h1t1.host=host1.internal worker.h1t1.port=1111 worker.h1t1.ping_mode=A worker.h1t2.host=host1.internal worker.h1t2.port=2222 worker.h1t2.ping_mode=A worker.h1t3.host=host1.internal worker.h1t3.port=3333 worker.h1t3.ping_mode=A worker.h1t4.host=host1.internal worker.h1t4.port=4444 worker.h1t4.ping_mode=A [etc for other combinations of hXtY] h1t3的Tomcat节点,那么h1t4将知道它们不可用且不会发送请求给他们。当你启动它们时,它们会开始接受请求。

此配置还有另一种选择。它有点干净,但需要更多的工作。

您具有与上述相同的配置,但是您明确将mod_jk通常不在线的节点的状态设置为activation,如下所示:

disabled

如果要启动节点worker.h1t3.host=host1.internal worker.h1t3.port=3333 worker.h1t3.ping_mode=A worker.h1t3.activation=S worker.h1t4.host=host1.internal worker.h1t4.port=4444 worker.h1t4.ping_mode=A worker.h1t4.activation=S h1t3,那么您将使这些节点联机,然后将这些工作程序的激活状态从h1t4(已停止)更改为S(有效)。然后,A将开始向这些可用节点发送请求。如果要使它们脱机,请将节点再次置于mod_jk状态(已停止),然后停止这些Tomcat实例。

Apache Tomcat Connectors load balancing howto中记录了很多此类内容,并在Apache Tomcat Connectors worker reference中提供了完整的参考。