网络实验日志
DNS / 2026-09-22

自建解析器时容易忽略的两个缓存问题

第一个是负缓存。查询不存在的域名,解析器会把 NXDOMAIN 缓存起来,时长取 SOA 里的 minimum。默认值常常很大,于是你修好了记录,客户端还在拿缓存的"不存在"。

第二个是 TTL 下限。有些解析器会把过小的 TTL 抬到某个下限值,本意是减少查询,副作用是变更传播变慢。做灰度发布时这一点很致命。

两个问题的共同点是:故障的持续时间不由你控制,而由缓存策略决定。所以变更之前先确认解析器的这两个参数,比事后怀疑网络有用得多。

实际做法是把 SOA minimum 设小(比如 60),把 TTL 下限关掉或者压到 30 秒。代价是查询量上升,收益是变更可控。

← 全部日志