我们面临一个问题,我们的客户将其命名为 A 。正在尝试通过ha-proxy连接 DB 服务器(蟑螂)名称 B 负载均衡
A < -- > haproxy < -- > B
现在,每当客户A收到Broken Pipe
错误时。
但是我不明白为什么?
蟑螂服务器已经具有以下默认值,即60秒。
COCKROACH_SQL_TCP_KEEP_ALIVE ## which is enabled to send for 60 second
加上我们的haproxy配置具有以下设置。
defaults
mode tcp
# Timeout values should be configured for your specific use.
# See: https://cbonte.github.io/haproxy-dconv/1.8/configuration.html#4-timeout%20connect
timeout connect 10s
timeout client 1m
timeout server 1m
# TCP keep-alive on client side. Server already enables them.
option clitcpka
选项clitcpka
那么,当在每一端启用keepalive时,导致TCP连接断开的原因是什么。
答案 0 :(得分:0)
保持连接状态将消失。朝那个方向进行调查。
keepalive真正使连接保持活动的唯一时间是与配置不正确的防火墙有关,该防火墙会丢弃空闲连接。