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)