1.
需求与带宽初算
- 目标并发:10000 人同时观看直播。
- 预估清晰度:以 2 Mbps(高清)为基准,峰值可能到 3 Mbps。
- 原始带宽计算:10000 * 2 Mbps = 20000 Mbps = 20 Gbps(未经 CDN)。
- 预留冗余:建议至少 30% 冗余,峰值预算约 26 Gbps。
- 指标关注:平均带宽、峰值带宽、并发连接数(10000),以及每连接平均带宽。
2.
使用 CDN 后的流量分摊与缓存命中率
- 假设边缘缓存命中率 95%,原站承载流量 = 20 Gbps * (1-0.95) = 1 Gbps。
- 实际节省:边缘承担 19 Gbps,显著降低源站带宽压力。
- CDN 边缘节点数量:建议 30+ 全国覆盖(省级节点优先)。
- 缓存策略:静态片段(HLS ts/256KB 分片)缓存,配置长短缓存结合(HEAD/OPTIONS 不缓存)。
- 回源并发限制:设置回源并发上限,避免瞬时回源拥塞。
3.
源站与服务器配置示例(真实案例参考)
- 真实案例:某教育机构线上万人培训,实际采用混合 CDN + 双机房双向回源。
- 源站配置示例(主动推流/控制):
| 用途 | 配置 |
| CPU | 2 x Intel Xeon Silver 4214(12c/24t) |
| 内存 | 64 GB DDR4 |
| 网卡 | 2 x 10 Gbps SFP+,绑定 LACP |
| 磁盘 | NVMe 1TB(录制/缓存短期片段) |
| 操作系统 | Ubuntu 22.04,内核优化(net.core.somaxconn=65535) |
- 实践说明:该案例中,源站峰值出站稳定在 800–1200 Mbps,由 CDN 边缘承担其余流量。
4.
边缘节点规划与调度策略
- 按地理和网络运营商分布部署边缘节点(直连骨干/本地 ISP)。
- 节点规格:每节点至少 1–10 Gbps 出口,根据覆盖城市级别调整。
- 负载均衡:DNS + Anycast + HTTP 重定向三层调度,优先选择最低延迟节点。
- 健康检查:自动剔除不健康节点,启用回源备用策略。
- 日志与监控:每个节点采集 QPS、并发、丢包率、回源比例,并实时告警。
5.
域名、DNS 与 SSL 配置要点
- 域名解析:使用低 TTL(例如 30s)结合智能 DNS 调度,支持主备切换。
- CNAME 指向:直播播放域名通过 CNAME 指向 CDN 提供商域名,减小解析复杂度。
- SSL:使用通配符/Let's Encrypt 自动续期,强制启用 TLS1.2+/HTTP/2(控制面采用 TLS)。
- 域名容灾:部署主域名与备用域名并在播放器中支持切换。
- 防止域名被缓存错误:设置合适的 DNS TTL 与边缘缓存控制头(Cache-Control、Expires)。
6.
DDoS 防御、放大攻击与容灾实战
- 估算风险:常见 DDoS 攻击可能达到几十 Gbps,需确认 CDN 与上游具备清洗能力(建议 >= 40 Gbps)。
- 清洗策略:在 CDN 层进行速率限制、地理封禁、IP 黑白名单与行为识别清洗。
- 弹性伸缩:源站带宽与实例支持按需扩容,推荐至少两台跨机房冗余并启用自动扩容脚本。
- 灾备演练:定期进行流量洪峰、回源失效、DNS 故障切换演练,记录 RTO/RPO。
- 日志保留与追溯:保存访问/清洗/回源日志 30 天以上,便于事后分析与法律取证。
7.
实施清单与落地建议
- 预演与压测:建议先做 3 次逐级压测(1k、5k、10k 并发),验证缓存命中与回源稳定性。
- 监控仪表盘:实时展示并发、带宽、回源速率、每节点延迟与丢包。
- 合同与 SLA:确认 CDN 提供商在带宽清洗、节点可用性和回源保护上的 SLA。
- 运维脚本:自动化部署 Nginx/RTMP/OBS 推流节点、自动化证书续期与告警联动。
- 成功案例回顾:上述教育机构案例在上线后 6 个月内无重大宕机,峰值并发 12k,缓存命中 94% 且源站出站带宽始终 < 1.5 Gbps。
来源:从带宽到边缘节点规划一万人直播的cdn配置要点