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

前端之家收集整理的这篇文章主要介绍了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相关文章