
单点故障的表现就是整个网站都无法访问,但是源站和CDN都正常。多节点冗余的好处就是当其中一个节点失效的时候还可以继续工作。
基本的做法就是多家解析服务商并存。域名注册处NS记录指向两个以上的服务商,其中任何一个服务商不能使用时另一个服务商仍然可以返回结果。要注意每一组记录要保持一致,任何一方的改动都会导致解析结果出现偏差。
健康探测和自动切换属于第二层。权威解析可以根据地址的健康状态来返回可用的记录,探测间隔以及超时时间要与业务容忍度相匹配;切换依赖于TTL,在日常中把TTL保持在一个较低的水平上,给切换留出窗口,在稳定期再提高以减少查询量。
另外两处容易被忽视的地方。递归侧缓存可以延长旧记录的生存期,在切换之后要统计各地生效的比例;启用DNSSEC的时候,如果签名链配置错误的话就会直接导致解析失败,在更改之前先在一个测试域名上进行验证。
记录维护也必须有纪律。A 在记录变更的时候同步更新所有的服务商,漏掉一处就会出现“部分用户正常、部分用户打不开”的情况;每周用多地拨测工具对比解析结果,差异项当天核查,比等到故障投诉再动手要省事得多。
把解析成功率和响应时间一起纳入到监控中,比仅仅查看有没有记录要更贴近真实的可用性。