跳到主要内容

内容分发网络

CDN 如何缩短用户到内容的距离?​

  • CDN: 在多个地理位置部署边缘节点,把可缓存内容放到更靠近用户的位置;
  • 源站: 保存内容的权威版本,负责产生或更新内容;
  • 边缘节点: 缓存并交付静态资源,如图片、视频、HTML、CSS 和 JavaScript;
  • 请求路径: 用户被路由到合适边缘,命中时直接返回,未命中时按策略向源站或上级缓存取数据;
  • 地理收益: 用户在英国、源站在美国时,命中伦敦边缘可以减少跨洋往返;
  • 系统收益: 降低源站压力、改善全球延迟并提供冗余,部分产品还提供入口安全能力;

推送式 CDN 如何提前部署内容?​

  • Push: 内容发布方主动把新增或变化内容上传到 CDN,并配置访问 URL、版本和有效期;
  • 优点: 可以明确控制发布时间,用户首次访问前内容已准备好;
  • 代价: 发布方承担同步和过期管理,也可能为无人访问的内容付出存储成本;
  • 适用条件: 更新节奏可控、希望预热特定内容时更容易发挥作用,不能只按总流量判断;

拉取式 CDN 如何按需填充内容?​

  • Pull: 用户请求触发查询,边缘没有内容时回源获取并缓存,后续请求复用;
  • 优点: 只为被访问的内容填充,降低主动发布维护成本;
  • 代价: 冷启动请求更慢,大量同时未命中可能形成回源尖峰;
  • 更新条件: 源站内容改变不会让所有缓存自动即时更新,需要 TTL、版本 URL 或主动失效;

怎样判断 CDN 是否值得采用?​

检查项对设计的影响
用户分布边缘覆盖不足时路径未必变短
命中率决定有多少源站请求真正被节省
资源大小视频等大对象使流量费用更重要
内容敏感性私有资源需要鉴权与合适的缓存键
故障与限制域名、IP 或地域限制可能影响可达性
  • 成本: CDN 增加分发费用,但可能减少源站带宽与计算支出,应比较总费用;
  • 原文示例: CloudFront、Google Cloud CDN、Cloudflare CDN、Fastly,仅作为实现入口;
  • 相关概念: CDN 重点解决地理分发,缓存写入、失效与淘汰是另一类机制;