我们有一个带有负载均衡器的tomcat集群( have )。作为升级脚本的一部分,我们希望在集群3中饥饿一个tomcat,等待所有请求都为该特定tomcat处理。只有到那时,我们才会关闭它,升级运行在tomcat上的web应用程序。
我们的问题是:
我们的脚本如何指示tomcat是否已经完全饿死(所有请求都已得到处理)?
tomcat本身是否公开了一个API?或者我们可以查询哈代人的信息?
谢谢!
编辑:这是我的haproxy配置文件:
global
debug
stats socket /etc/haproxy/haproxysock level admin
defaults
mode http
timeout connect 5s
timeout queue 300s
timeout client 300s
timeout server 300s
frontend http-in
bind *:8080
default_backend NG
backend NG
cookie JSESSIONID prefix
server 10.0.110.44 10.0.110.44:8080 cookie JSESSIONID_SERVER_1 check maxconn 500
server 10.0.110.45 10.0.110.45:8080 cookie JSESSIONID_SERVER_2 check maxconn 500
#server 10.0.110.41 10.0.110.41:8080 cookie JSESSIONID_SERVER_3 check maxconn 500
option httpclose
option forwardfor
balance roundrobin
option redispatch
retries 15
listen admin
bind *:8081
stats enable
stats refresh 1s发布于 2014-06-17 13:03:30
从负载平衡者的角度来看,完全饥饿是很难断言的。现在还不知道是否还有一个客户端拥有一个为您的JSESSIONID服务器前缀的NOLB cookie。
我能看到至少有两种方法来推进这件事
如果Tomcat有一种枚举有效会话的方法,那么这将允许一种更安全的方法(通过服务器或类似的方式)。
请注意,如果您限制自己只停止完全饥饿的应用程序服务器,顽强的客户端可以阻止您重新启动。
https://serverfault.com/questions/605380
复制相似问题