nginx – 当服务器IP发生变化时,excing TCP(例如http/mysql)连接仍在运行

我们有一些PHP-FPM服务器,当他们需要数据库连接时,他们连接到HAProxy服务器,该服务器选择要使用的数据库服务器并打开连接.当我们想要在HAProxy服务器上执行某些维护时(例如需要重新启动HAProxy的配置更改),过程如下:

>在HAProxy服务器上关闭Keepalived
>等待浮动IP传输到备份HAProxy服务器(也运行Keepalived)
>等到HAProxy统计信息只报告一个连接(我们检查有多少个连接)
>重新启动HAProxy
>重新启动Keepalived

当第2步发生时,那时打开的MysqL连接会发生什么?根据this TCP Sessions and IP Changes question,连接将被删除.这是真的吗?如果是这样,可以采取什么措施来防止这种情况发生?连接是否会以某种方式强制使用服务器的主(非浮动)IP?

我们也有两个类似的设置,其中有两个运行Keepalive的Nginx服务器,我们正在计划进行等效的过程.如果我们这样做,同样的问题适用 – 当IP移动到另一台服务器时,现有的http连接会发生什么?

我感谢您的帮助.

最佳答案
他们断开了. TCP没有用于更改IP地址的协议部分,因此客户端不会知道它已经神奇地改变了.必须建立新的连接.

相关文章

###进入nginx 目录cd /usr/local/nginx###递归显示 2 级目录...
在cmd命令窗口输入下面命令进行查看 tasklist /fi "ima...
Nginx显示500错误原因和解决方法
linux系统下启停nginx的命令
nginx 的 default_server 指令可以定义默认的 server出处理一...
Nginx是一款轻量级的 Web 服务器、反向代理服务器,由于它的...