为什么同一个网站解析出不同 IP?CDN、Anycast 与 DNS 调度解析
同一个域名在不同地区、不同运营商或不同时间解析出不同 IP,并不一定是 DNS 故障。大量网站使用 CDN、智能 DNS 和 Anycast,将用户请求调度到更合适的节点,以降低延迟并分散流量。传统 DNS 可以根据递归 DNS 的位置、线路和健康状态返回不同记录。北京用户和海外用户查询同一域名,可能获得完全不同的节点地址;当节点维护或负载升高时,解析结果还会动态调整。DNS 缓存又受到 TTL 影响,因此配置更新后,各地不会在同一秒全部切换。Anycast 则允许多个机房对外广播同一个 IP。用户看到的目标地址相同,但实际流量会根据 BGP 路由进入不同节点。此时 IP 数据库显示的注册国家、ASN 注册地和用户实际到达的机房位置可能不一致,仅根据地理库判断线路容易产生误解。CDN 场景还要区分边缘节点与源站。DNS 查询和 Ping 通常看到 CDN 节点,而不是网站真实源站。边缘节点正常不代表源站一定健康,源站正常也不代表每个 CDN 区域都已更新。排查时需要结合网站测速中的响应阶段、HTTP 状态码、响应头以及服务商控制台。可以使用多地 Ping、DNS 查询和路由追踪比较各地区结果,再通过批量 HTTP(S) 检查多个域名或节点。修改记录后,应至少等待旧 TTL 逐步过期,并保留旧服务一段时间,避免部分用户仍使用缓存记录时访问失败。