我建立了一个可以在多个节点之间进行平衡的代理服务器。
我还确保它可以在零停机时间内重新加载。问题是大多数节点都保持 Activity 状态
连接,我不知道如何处理这些。有时服务器无法关闭1或2个不会关闭的打开连接。
我的第一意见是在关机时设置超时,但这不能确保每个连接都正确终止。我认为下载需要几分钟才能完成。
任何人都可以给我一些很好的建议,在这种情况下该怎么办?
最佳答案
您必须采取的一种方法是,首先仅关闭监听套接字,然后等待 Activity 连接退出。
释放监听套接字后,即可自由启动新过程并接受新连接。然后,旧进程可以继续运行,直到其所有连接正常关闭(这是HAProxy重新加载的方式)为止,或者直到您选择了更长的超时时间为止。