LVS TCP连接超时 – 延迟连接

我正在使用keepalived来负载平衡多个TCP服务器之间的连接。 我不指望它是重要的,但在这种情况下的服务是rabbitmq。 我正在使用加权循环的NATtypes平衡。

客户端连接到服务器:

[client]-----------[lvs]------------[real server] ab 

如果客户端连接到LVS并保持空闲状态,则在套接字上不发送任何内容,这最终超时,根据使用ipvsadm --set设置的超时值。 此时,上面标记为“a”的连接正确地从客户端上的netstat -anp输出以及lvs盒上的ipvsadm -L -n -c输出中消失。 然而,连接“b”仍然根据真实服务器盒子上的netstat -anpbuild立。

为什么是这样? 我可以强制lvs正确地重置到真实服务器的连接吗?

你有持续连接吗? 持续连接超时可以使用-p [timeout]

这将保持连接b处于活动状态,以便将来自客户端IP的更多请求路由到相同的真实服务器

您可以使用–set命令来减less超时。

 /sbin/ipvsadm --set 3600 120 300 

或者给haproxy一个尝试。