首页/安全/安全设备配置速查/负载均衡会话保持
NAT 与发布75 条

负载均衡会话保持

让同一客户端在一段时间内的请求始终落到同一台后端,依赖源地址哈希或会话 Cookie 等机制。

安全设备配置速查安全更新于 2026-10-13

负载均衡会话保持是什么

会话保持(sticky)让同一客户端在一定时间内的请求持续落到同一台后端服务器上。需要它的原因是无状态之外的业务:登录态存在单机内存、上传与下载分阶段进行、下单与支付跨多个请求。实现方式主要有源地址哈希、Cookie 插入或改写、以及设备侧会话表保持。保持粒度越粗,负载越不均匀,这是设计时必须权衡的取舍。

基本信息

实现方式源地址哈希、Cookie 插入或改写、会话表保持
适用业务带登录态的应用、分阶段上传下载、跨请求事务
代价保持粒度越粗负载越不均匀
保持时长按会话有效期设置,过长会影响后端扩容后的流量分摊
失效场景出口 NAT 后大量用户共用同一源地址

典型使用场景

  • 老系统会话存单机内存:不保持会导致用户频繁掉线
  • 文件上传与处理分两个接口,需要落到同一台后端
  • 购物车与下单流程跨多个请求,需保持在同一实例
  • WebSocket 长连接:连接建立后必须保持
  • 后端扩容或缩容时,评估保持策略对流量重分布的影响
  • 公网用户经多层 NAT 接入,源地址哈希失衡需要改用应用层标识

选择建议

选择建议
# HTTP 业务:优先使用会话 Cookie(跨源 NAT 稳定)
# 非 HTTP 业务:源地址哈希 + 较短的保持时间
# 长连接业务:按连接保持,连接断开后重新分配
# 多出口上网用户:源地址会变化,不适合源地址哈希
# 后端有多个可用组时:保持只在同一组内生效,需确认组设计

保持方式对比

方式优点局限
源地址哈希无需改动应用,配置简单NAT 后大量用户同源,负载严重失衡
Cookie 保持按会话精确保持,跨源稳定需应用允许插入或改写 Cookie
会话表保持对应用透明表项容量有限,超时后重新分配
按连接保持适合长连接协议短连接业务效果有限
公网用户经多层 NAT 后源地址可能大量相同,此时源地址哈希会让流量集中到少数后端,形同没有负载均衡。
保持时间过长会拖慢后端扩容后的流量分摊:新加入的后端长时间收不到已有用户的请求,扩容效果延迟显现。

易错点

  • 依赖源地址的保持算法在出口代理或运营商 NAT 场景下失真,负载严重不均
  • 保持时间过长,后端扩容后流量分摊慢,扩容效果迟迟不显现
  • Cookie 改写与应用自身会话机制冲突,导致登录态异常
  • 健康检查失败但保持表项仍指向故障后端,用户请求持续报错
  • 只在负载均衡层做保持,后端有状态数据未共享,故障时仍丢会话

数据来源与参考

  • 华为 USG6000 产品文档:会话保持
  • 深信服 AF 产品手册:负载均衡会话保持
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌