Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

分发——CDN

  • 全称 Content Delivery Network

    • 由分布在 不同地理位置的 代理服务器 组成的网络,是一种云服务IaaS
    • 希望就近为空户提供服务,降低延迟,减轻服务器负载
  • 一般用来托管资源

    • Web资源
      • 文本、图像、脚本
    • 下载资源
      • 媒体、软件、文档
    • 应用程序
      • 门户网站
  • 两种结构

    • 分散式 Scattered CDN
      • 世界各地部署 尽可能多的 中低性能服务器
    • 整合式 Consolidated CDN
      • 只在主要数据中心有少量节点,但节点性能更强大
  • 两种分发方式

    • 推 Push CDN
      • 源服务器 提前把内容推到 CDN边缘服务器 缓存起来
      • 如果未命中缓存,就会返回 404
      • 每次发生变化,都要上传新内容
      • 适用于 小流量 或 更新不频繁 的站点
    • 拉 Pull CDN
      • 在用户首次访问时,自动从 源服务器 拉取新内容,并缓存起来
      • 如果未命中缓存,会回源去取,因为提供有反向代理服务
      • 适用于 大流量 站点,只缓存最近使用的内容
  • 可通过特殊响应头区分,是来自源还是CDN:

    • X-Cache: HIT:命中缓存,响应内容来自 CDN 缓存
    • X-Cache: MISS:未命中缓存,响应内容来自源服务器
  • 实现原理

    • 将子域名的解析权通过CNAME 记录交给 CDN,接着通过基于地理位置临近程度的路由策略,将请求映射到距用户最近的边缘服务器