基于时间的ApacheWeb服务器负载平衡

基于时间的ApacheWeb服务器负载平衡,apache,tomcat,tomcat7,Apache,Tomcat,Tomcat7,我在ApacheWeb服务器反向代理后面有两个Tomcat节点,用于负载平衡 我有没有办法配置worker,以便只在一天中的特定时间向集群添加额外的主机?尽管mod_jk和mod_proxy_ajp(或mod_proxy_http)都没有任何特定的高负载重新调整功能(据我所知),我肯定知道可以为许多后端实例(Tomcat节点)配置mod_jk,它们不必一直运行 以以下配置为例: worker.list=T1lb, T2lb, T3lb, T4lb worker.T1lb.type-lb wor

我在ApacheWeb服务器反向代理后面有两个Tomcat节点,用于负载平衡


我有没有办法配置worker,以便只在一天中的特定时间向集群添加额外的主机?

尽管
mod_jk
mod_proxy_ajp
(或
mod_proxy_http
)都没有任何特定的高负载重新调整功能(据我所知),我肯定知道可以为许多后端实例(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
h1t4
的Tomcat节点,那么
mod_jk
将知道它们不可用,并且不会向它们发送请求。当你启动它们时,它们将开始接受请求

此配置还有另一个选项。它稍微干净一点,但需要多做些工作

您具有与上面相同的配置,但是您明确地将通常不保持在线的节点的
激活
状态设置为
禁用
,如下所示:

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
将开始向这些可用节点发送请求。当您想让它们离线时,请再次将节点置于
S
状态(已停止),然后停止那些Tomcat实例


ApacheTomcat连接器中记录了很多这方面的内容,ApacheTomcat连接器中有完整的参考资料。

这是用于某种自动伸缩吗?如果您有服务器,为什么不希望一直配置它们?是的,我想设置自动缩放。我有许多应用程序在多台主机上运行,并且有多个tomcat在同一台主机上运行。因此,主机H1有2个Tomcat服务于应用程序T1,T2主机H2有2个Tomcat服务于应用程序T1,T2主机H3有2个Tomcat服务于应用程序T3,T4主机H4有2个Tomcat服务于应用程序T3,T4 Apache服务器负载平衡b/w H1和H2服务于T1。在一天中的某些时间,比如说T3的负荷较低。我想知道,如果我启动另一个tomcat在主机H3上为T1提供服务,我可以动态地将其添加到集群中吗。