【问题标题】:Understanding keepalive between client and cockroachdb with haproxy使用 haproxy 了解客户端和 cockroachdb 之间的 keepalive
【发布时间】:2019-09-26 08:38:24
【问题描述】:

我们正面临一个问题,我们的客户将其命名为 A。正在尝试连接 DB 服务器(Cockroach)名称 B 通过 ha-proxy 进行负载平衡

A < -- > haproxy < -- > B 

现在,当我们的客户端 A 收到 Broken Pipe 错误时,每一次。

但我不明白为什么?

Cockroach 服务器已经具有以下默认值,即 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

那么是什么导致 TCP 连接在每一端都启用 keepalive 时断开。

【问题讨论】:

    标签: postgresql haproxy keep-alive cockroachdb tcp-keepalive


    【解决方案1】:
    如果端点之一在没有关闭连接的情况下死亡,

    Keepalive 就是 使 连接消失的原因。朝那个方向调查。

    keepalive 真正使连接保持活动状态的唯一时间是与配置错误的防火墙连接,该防火墙会丢弃空闲连接。

    【讨论】:

      猜你喜欢
      • 2020-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-08
      • 1970-01-01
      相关资源
      最近更新 更多