4. 流量调度:让用户访问"最近"的节点
4.1 智能 DNS 调度
传统 DNS 解析:
用户问:cdn.example.com 的 IP 是什么?
DNS 答:1.2.3.4(固定的)智能 DNS 解析:
用户(北京联通)问:cdn.example.com 的 IP 是什么?
智能 DNS:让我查查... 北京联通的 CDN 节点是 1.2.3.4
用户(上海电信)问:cdn.example.com 的 IP 是什么?
智能 DNS:上海电信的 CDN 节点是 5.6.7.8调度维度:
| 维度 | 说明 | 效果 |
|---|---|---|
| 地理位置 | 按省/市/国家分配 | 就近访问,降低延迟 |
| 运营商 | 联通/电信/移动/BGP | 同运营商传输,避免跨网 |
| 节点负载 | 实时 CPU/带宽/QPS | 避开过载节点 |
| 节点健康 | 探测可用性 | 自动剔除故障节点 |
| 成本因素 | 带宽单价差异 | 平衡性能与成本 |
4.2 HTTP DNS 与 IP 直连
传统 DNS 有个问题:DNS 劫持和解析延迟。
HTTP DNS 方案:
客户端 → 绕过系统 DNS → 直接问 HTTP DNS 服务(如 223.5.5.5:80)
↓
返回最优 IP 列表(带权重)
↓
客户端根据网络质量探测,选择最优 IP优势:
- 防劫持:不走运营商 DNS
- 更精准:可以按客户端网络质量选择 IP
- 实时性:故障切换更快
实战建议:
- 移动端 APP 强烈建议接入 HTTP DNS
- Web 端可以使用 CDN 提供的 CNAME 调度
- 关键业务可以做多 IP 容灾(一个域名返回多个 IP)