Haproxy 1.8:排空或设置权重 0 - 第 4 层和第 7 层

Haproxy 1.8:排空或设置权重 0 - 第 4 层和第 7 层

我们在生产环境中为数据库前端部署了多个 Haproxys TCP 模式 haproxy,为应用前端部署了第 7 层 haproxy。我正在寻找哪种方案是将一个后端节点从流量中移除并对应用程序进行更新/发布/维护的最佳方案。我使用设置服务器状态 Drain 或设置权重 0,哪种方案有效且有用,可以缓慢地将所有客户端连接重定向到应用程序的其他后端,而不会中断并重定向所有 tcp 连接?请告诉我持久连接是什么意思?

答案1

使用排水。

这样可以防止新会话被定向到相关后端,但现有会话仍将定向到该后端。因此,您应该等待一段合理的时间让用户结束会话(根据工作负载类型,这可能是几分钟到一天)。

当然,这是假设您在 haproxy 中配置了粘性会话,这样用户将始终被定向到同一个后端。如果不是这种情况,那么使用权重 0 或排水都没有区别。

持久连接是保持打开的连接。如果您要使用持久连接,请确保 haproxy 超时时间足够长,以满足这些连接的需求;否则 haproxy 可能会关闭仍在使用(但处于空闲状态)的连接。

相关内容