负载均衡54 条

UDP 监听配置要点

UDP 没有连接语义,由负载均衡按会话维持转发:同一客户端地址在会话周期内固定送到同一后端。DNS、音视频、游戏类业务常用 UDP 监听,具体行为以所用产品文档为准。

UDP 监听怎么工作

UDP 没有连接语义,负载均衡只能按会话维持转发:同一个客户端源地址在会话周期内会被固定送到同一台后端,会话超时后才可能重新分配。因此 UDP 业务的后端要么是无状态的,要么自己共享会话数据,否则会出现「前半段请求和后半段请求落在不同机器上」的现象。DNS、音视频、游戏类业务常用 UDP 监听,具体行为以所用产品文档为准。

基本信息

会话行为同一客户端源地址在会话期内固定后端
调度算法通常仅支持加权轮询类算法
健康检查部分产品支持 UDP 检查,或借助云监控自定义探测
设计建议后端保持无状态,或自行共享会话数据

典型使用场景

  • 自建 DNS 服务对外提供解析,按客户端源地址维持短时会话
  • 音视频与游戏长连接业务,用 UDP 降低重传带来的延迟
  • 日志与监控数据采集使用 UDP 上报,需要多后端分摊压力
  • 把 UDP 服务收敛到负载均衡后面,便于统一做后端摘除与扩容

UDP 端口探测

UDP 端口探测
nc -u -z -w 3 10.0.1.20 53
dig @10.0.1.20 example.com +short
# UDP 探测不易判定,优先用应用层命令验证(如 dig、iperf3 -u)

UDP 与 TCP 监听差异

维度UDP 监听TCP 监听
连接语义无连接,按会话转发有连接,按连接转发
后端要求需无状态或共享会话天然支持有状态会话
探测方式应用层命令更可靠端口探测即可
摘除后端存量会话到期才生效新连接立即生效
调整权重或摘除后端后,存量 UDP 会话可能仍指向旧后端,直到会话超时。

配置与排障要点

UDP 监听的配置项比 TCP 少,风险更多落在会话行为上。上线前先确认会话超时是否大于业务侧请求间隔,超时设得太短会让同一客户端在不同请求间被分到不同后端;扩容或缩容时也要接受一段时间的会话迁移期。排障时不要沿用 TCP 的思路,端口探测对 UDP 常常没有反馈,改用应用层命令验证更可靠;若后端依赖客户端源地址做策略,还要先确认转发是否改写了源地址。

易错点

  • 后端依赖源地址做策略,UDP 转发改写源地址后策略失效
  • 用 TCP 探测思路排查 UDP 业务,方向错误
  • 会话超时设置短于业务请求间隔,同一客户端被反复分到不同后端
  • 后端需要共享会话数据却按无状态设计,出现偶发数据不一致

数据来源与参考

  • 阿里云 CLB UDP 监听文档
  • 华为云 ELB UDP 监听文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌