长连接与连接复用

TCP/HTTP 长连接省去反复握手与慢启动成本;需要与负载均衡、网关的空闲超时协调,避免请求被单方面关闭形成偶发 502。

配置客户端空闲超时要短于服务端与负载均衡的空闲超时
收益省握手与 TLS 协商,降低请求延迟与 CPU 消耗
风险超时层级错配导致复用到已关闭连接

超时层级示例

超时层级示例
客户端保活周期    55s
负载均衡空闲超时  75s
网关 keepalive    90s
上游应用空闲关闭  120s

统一规则:外侧(更靠近客户端)超时短于内侧,
逐层递增;任何一层的关闭都走优雅流程,
先停止接收新请求,再等待在途请求完成
出现偶发“连接被重置”时先核对整条链路各层的空闲与优雅关闭超时。

易错点

  • 客户端保活周期长于服务端超时,偶发写失败
  • 发布时未优雅关闭,旧连接上的请求被中断

数据来源与参考

  • 《TCP/IP 详解》卷 1(Stevens)
  • NGINX 文档:keepalive_timeout
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌