【问题标题】:How long will google cloud HTTP(S) Load Balancers keep tcp connections open?谷歌云 HTTP(S) 负载均衡器将保持 tcp 连接打开多长时间?
【发布时间】:2017-01-28 22:05:05
【问题描述】:

tl;博士:

当谷歌云 HTTPS 负载平衡器打开 tcp 流(请求中带有“连接:保持活动”标头)时,是否可以保证该流将保持对后端开放多长时间(最大)服务器?

更长:

我在 HTTPS 负载平衡器后面部署了一个 Go http 服务器,但很快就遇到了很多问题,因为我在我的套接字连接上设置了一个激进的(10 秒)读取期限,这意味着我的服务器经常在中间关闭连接阅读后续请求。很明显我做错了,但同时我不想在我的套接字上设置任何截止日期,因为我想防止这些服务器随着时间的推移慢慢泄漏死连接的可能性,吃掉我所有的文件描述符。

因此,如果负载平衡器在 5 分钟后自动关闭它们打开的所有 tcp 流,那就太好了。这样我可以将我的服务器的读取期限设置为(例如)6分钟,并且我可以确定我永远不会中断任何请求 - 只有在特殊情况下才会调用期限(例如,来自负载均衡器的 FIN 数据包没有收到通过我的服务器)。

【问题讨论】:

    标签: load-balancing google-cloud-platform keep-alive


    【解决方案1】:

    我无法从 Google 企业支持那里得到官方答案,但从我的实验(分析多小时 tcpdump)看来,负载均衡器将在大约 10 分钟空闲后关闭连接(意味着没有 tcp 数据包10 分钟)。

    【讨论】:

      【解决方案2】:

      根据here,与计算实例的空闲 TCP 连接在 10 分钟后超时,这似乎证实了您的假设。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-18
        • 2020-12-31
        • 2018-06-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多