基本概念

定义:

  • 全称 Content Delivery Network, 内容分发网络
  • 将源站的资源缓存 CDN 各个节点上,当请求命中了某个节点的资源缓存时,立即返回客户端,避免每个请求的资源都通过源站获取,提升性能

扩展概念

  • CDN 命中率:访问资源恰好在缓存里的概率
  • CDN 回源:当 CDN 本地缓存没有命中时,触发 回源,向原本资源的位置查找
  • CDN 预热数据
    • 普通访问基于 Pull 模式,用户第一次获取内容后,缓存在 CDN 中
    • 对于需要大访问量的场景,基于 Push 模式,即主动将需要访问的内容放到 CDN

CDN 访问过程

  • 用户访问图片内容,先经过本地 DNS 解析,如果 LDNS 命中,直接返回给用户
  • LDNS MISS,转发 授权DNS 查询
  • 返回域名 CNAME 对应IP地址(实际就是 DNS 调度系统的 IP 地址)
  • 域名解析请求发送至 DNS 调度系统,DNS调度系统为请求分配最佳节点 IP 地址
  • 返回的解析 IP 地址
  • 用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端

CDN 组成

  • 全局负载均衡 GLB (Global Load Balance)
    • 通过一组预先定义好的策略,将当时最接近用户的节点地址提供给用户
    • 需要与分布在各地的CDN节点保持通信,跟踪各节点的健康状态、容量等信息,确保将用户的请求分配到就近可用的节点上
  • 缓存服务器
    • 缓存热点数据
      • 静态资源(html,js,css等)
      • 多媒体资源(img,mp3,mp4等)
      • 动态数据(边缘渲染)等

link