Golang 如何使用 keep alives 处理优雅关闭

我已经构建了一个可以在多个节点之间平衡的代理服务器。我还使它可以在零停机时间重新加载。问题是大多数节点都保持活动连接,我不知道如何处理这些。有时服务器无法关闭 1 或 2 个不会关闭的打开连接。

我的第一个意见是在关机时设置超时,但这并不能确保每个连接都正确终止。我想到了需要几分钟才能完成的下载。

任何人都可以给我一些好的建议在这种情况下该怎么做?


POPMUISE
浏览 217回答 1
1回答

蝴蝶不菲

您拥有的一种选择是最初仅关闭侦听套接字,并在退出之前等待活动连接。释放侦听套接字后,您的新进程就可以自由启动并接受新连接。然后,旧进程可以继续运行,直到其所有连接正常关闭(这就是 HAProxy 重新加载的方式),或者直到您选择更长的超时时间。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go