首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat集群-如何验证节点饥饿?

Tomcat集群-如何验证节点饥饿?
EN

Server Fault用户
提问于 2014-06-16 07:16:47
回答 1查看 362关注 0票数 0

我们有一个带有负载均衡器的tomcat集群( have )。作为升级脚本的一部分,我们希望在集群3中饥饿一个tomcat,等待所有请求都为该特定tomcat处理。只有到那时,我们才会关闭它,升级运行在tomcat上的web应用程序。

我们的问题是:

我们的脚本如何指示tomcat是否已经完全饿死(所有请求都已得到处理)?

tomcat本身是否公开了一个API?或者我们可以查询哈代人的信息?

谢谢!

编辑:这是我的haproxy配置文件:

代码语言:javascript
复制
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
EN

回答 1

Server Fault用户

发布于 2014-06-17 13:03:30

从负载平衡者的角度来看,完全饥饿是很难断言的。现在还不知道是否还有一个客户端拥有一个为您的JSESSIONID服务器前缀的NOLB cookie。

我能看到至少有两种方法来推进这件事

  1. 根据会话生存期估计总的饥饿时间
    • 当然,这并不完美,因为TTLs在饥饿阶段得到更新。

  2. 定义一个边界(比如每分钟1次请求),将服务器视为饥饿。

如果Tomcat有一种枚举有效会话的方法,那么这将允许一种更安全的方法(通过服务器或类似的方式)。

请注意,如果您限制自己只停止完全饥饿的应用程序服务器,顽强的客户端可以阻止您重新启动。

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

https://serverfault.com/questions/605380

复制
相关文章

相似问题

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