【发布时间】:2017-01-28 22:05:05
【问题描述】:
tl;博士:
当谷歌云 HTTPS 负载平衡器打开 tcp 流(请求中带有“连接:保持活动”标头)时,是否可以保证该流将保持对后端开放多长时间(最大)服务器?
更长:
我在 HTTPS 负载平衡器后面部署了一个 Go http 服务器,但很快就遇到了很多问题,因为我在我的套接字连接上设置了一个激进的(10 秒)读取期限,这意味着我的服务器经常在中间关闭连接阅读后续请求。很明显我做错了,但同时我不想在我的套接字上设置任何截止日期,因为我想防止这些服务器随着时间的推移慢慢泄漏死连接的可能性,吃掉我所有的文件描述符。
因此,如果负载平衡器在 5 分钟后自动关闭它们打开的所有 tcp 流,那就太好了。这样我可以将我的服务器的读取期限设置为(例如)6分钟,并且我可以确定我永远不会中断任何请求 - 只有在特殊情况下才会调用期限(例如,来自负载均衡器的 FIN 数据包没有收到通过我的服务器)。
【问题讨论】:
标签: load-balancing google-cloud-platform keep-alive