为什么mod_jk将工作程序标记为错误状态?如果tomcat服务器启动时请求超时之一

时间:2018-06-19 21:36:38

标签: mod-jk

问题:很多用户在一天的同一时间抱怨会话丢失问题

设置:因为没有在应用程序节点之间共享会话,所以我们为具有会话粘性的两节点tomcat应用程序集群提供了Apache mod JK设置

worker.xyzserver.sticky_session
worker.xyzserver.type = lb
worker.xyzserver.socket_keepalive =真
worker.xyzserver.socket_timeout = 300
worker.xyzserver.connection_pool_size = 50
worker.xyzserver.connection_pool_timeout = 600
worker.xyzserver.balance_workers = node1,node2
worker.xyzserver.sticky_session = true

分析:表单日志中我们发现,在用户请求之一超时后,mod Jk worker(node2)处于错误状态。因此,同一节点/工作器(节点2)上的任何其他用户请求都将重定向到其他节点/工作器(节点1),并且用户会话丢失。

问题:如何防止由于一个请求超时而导致mod_jk工作程序出现错误错误状态,因此不应将其他有效的用户请求重定向到另一工作程序?
OR
如果由于间歇性错误而导致某些请求失败,如何强制会话粘性?

mod_jk.log

[2018年5月11日星期二14:55:20] [178653:120056905617242] [信息] ajp_connection_tcp_get_message :: jk_ajp_common.c(1267):(node2)无法从tomcat接收响应标头消息,网络问题或Tomcat(:)已关闭(errno = 11)
[2018年5月11日星期二14:55:20] [178653:120056905617242] [错误] ajp_get_reply :: jk_ajp_common.c(2126):(node2)Tomcat关闭或拒绝了连接。尚未发送答复给客户端(尚未)
[2018年5月11日星期二14:55:20] [178653:120056905617242] [info] ajp_service :: jk_ajp_common.c(2623):(node2)向tomcat发送请求失败(可恢复),(尝试= 2)
[2018年5月11日星期二14:55:20] [178653:120056905617242] [错误] ajp_service :: jk_ajp_common.c(2643):(node2)连接到tomcat失败。
[2018年5月11日星期二14:55:20] [178653:120056905617242] [info] service :: jk_lb_worker.c(1478):服务失败,工作节点2处于错误状态

0 个答案:

没有答案