load-balancing - 谷歌云 HTTP(S) 负载平衡器将保持 tcp 连接打开多长时间?

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

tl;dr:

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

更长:

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

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

最佳答案

我无法从 Google 企业支持部门获得官方答复,但从我的实验(分析多小时的 tcpdumps)来看,负载均衡器似乎会在闲置约 10 分钟后关闭连接(意味着没有 tcp 数据包) 10 分钟)。

关于load-balancing - 谷歌云 HTTP(S) 负载平衡器将保持 tcp 连接打开多长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39603274/

相关文章:

docker - 失败和除非已停止之间的docker重新启动策略差异?

dns - 负载均衡器和 API 网关混淆

iis - GCP 负载平衡器 502 服务器错误和 "backend_connection_closed_before_data_sent_to_client"IIS 10

asp.net - 从共享驱动器托管的网站中特定于服务器的 web.config

apache-spark - 用于与 Spark JDBC DataFrame 读取器一起使用的 Cloud Spanner 的 Simba JDBC 驱动程序

php - 为什么找不到我的 php 页面?是我的yaml文件有问题吗?

Azure - 获取负载均衡器探针的当前状态

spring-boot - GCP PubSub Spring Boot 重复提取消息

http - 与 RestSharp 的持久 HTTP 连接

apache - 正确使用 Header set Connection Keep-Alive (Apache)