云 DNS 与 CDN49 条

多值轮询解析

同名配置多条同类型记录(多个 IP)时,解析会在多个值之间轮询返回,实现轻量级横向分担。注意轮询没有健康判断:某个地址故障时仍可能被返回给部分用户。

多值轮询的能与不能

同一个域名配置多条同类型记录(多个 A 或 AAAA 地址)时,解析会在多个值之间轮询返回,实现轻量的横向分担。它的关键局限是没有任何健康判断:某个地址故障时仍可能被返回给部分用户,而这些用户的失败要等到本地缓存过期才可能变化。因此它适合辅助或临时场景,不适合承担核心流量。

基本信息

原理同名多条 A 或 AAAA 记录轮询应答
优点配置简单,不需要额外组件
局限无健康检查,故障地址仍可能被返回
缓存影响本地与递归缓存会让各客户端看到的顺序不同
生产建议核心流量用云负载均衡收敛入口,解析层保持简单

典型使用场景

  • 两台自有服务器做轻量分担,短期内没有引入负载均衡的计划
  • 灰度验证:临时把部分解析指向新环境观察真实流量
  • 多机房提供同样服务的非核心业务
  • 客户端具备重试机制、能容忍单个地址失败时
  • 作为正式负载均衡上线前的过渡方案

观察轮询效果

观察轮询效果
for i in $(seq 1 6); do dig +short app.example.com; done
# 连续查询观察返回顺序,注意本地与递归缓存会影响实际看到的顺序
dig +short app.example.com @8.8.8.8

与负载均衡对比

能力多值轮询云负载均衡
健康检查无有,异常成员自动摘除
切换速度受缓存影响秒级到分钟级
分发粒度按客户端与缓存随机按权重与算法
运维成本几乎为零需要配置与规格管理
把解析轮询当负载均衡使用,故障期间会有部分用户持续失败,且失败比例随缓存分布而随机变化,很难定位。
轮询并不保证各地址流量均衡:客户端与递归缓存的分布会显著影响实际比例,统计时不要按等分预期判断。

易错点

  • 把解析轮询当负载均衡用,故障时无自动摘除,部分用户持续失败
  • 忽略本地缓存与递归缓存的影响,实际流量分布与预期差异很大
  • 某台服务器下线却忘了删除对应解析记录,部分用户长期访问不通
  • 多值记录中混入内网地址,导致客户端解析到不可达地址

数据来源与参考

  • 阿里云 云解析轮询说明
  • DNS 轮询机制(RFC 1794)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌