工作原理
解析沿层级进行:浏览器和操作系统缓存、递归解析器、根服务器、顶级域服务器,最后是区域的权威服务器。每个答案按 TTL 缓存,否定答案也会缓存。记录类型包括 A/AAAA 地址、CNAME 别名、MX 邮件、NS 委派、TXT 验证与策略、CAA 证书颁发机构。
dig +short api.example.com A
dig +noall +answer example.com MX
dig +trace www.example.com
使用场景与取舍
每个请求都涉及 DNS,因此应有意用它做故障转移、CDN 路由、邮件和服务发现。故障转移前先降低 TTL,使用带健康检查的记录或全局流量管理器,并保留第二家 DNS 供应商。与毫秒级反应的负载均衡器相比,DNS 故障转移粒度粗,且受解析器缓存限制。
低 TTL 加快切换,却增加查询量和成本,部分解析器还不严格遵守 TTL;高 TTL 降低负载,却延迟变更生效。DNS 故障转移看不到单个用户的健康状态,客户端还可能在整个进程生命周期缓存地址。DNSSEC 增加完整性,也带来密钥轮换的运维风险。
具体示例
区域故障时,团队把带健康检查的记录切到备用区域。由于 TTL 为 60 秒,多数用户在几分钟内迁移,但某移动运营商解析器保留了旧地址十分钟,因此 DNS 切换要配合客户端重试和连接超时。