解决什么问题

核心目的是让用户以最快的速度获取到他们需要的数据,同时大幅度减轻主服务器的压力。

核心机制

CDN的运作主要依赖两个角色:

  • 源站(Origin Server):数据真正保存的地方(比如数据库、云主机或者原始代码库)
  • 边缘节点(Edge Server/Node):分布在世界各地的CDN缓存服务器 当用户请求一张图片或者一个网页时,网站不会去源站拉取数据,而是通过智能DNS解析,将请求路由到离用户地理位置最近的边缘节点。
  • 命中缓存(Cache Hit):如果边缘节点上刚好有这个文件,直接返回给用户,速度极快(通常在几毫秒到几十毫秒级别)。
  • 未命中缓存(回源,Cache Miss):如果边缘节点没有这个文件(或者缓存过期了),边缘节点就会向源站请求该文件,返回给用户的同时,顺便在自己的节点上存一份,方便下一个同地区的用户访问。 CDN不仅仅是简单的“缓存搬运工”,它还具备强大的网络调度与容灾能力。当检测到最近Edge Server出现故障或者网络拥堵时,可以进行流量重定向,定向到Origin Server。

在项目中的实际应用

  • 用户profile页中保存的头像
  • 通过Vercel部署全静态的博客(如基于Quartz与Markdown渲染的站点),页面之所以能被不同国家的用户瞬间打开,底层就是依靠这种全球分布的边缘网络

不理解的部分

  • 很多公司提供CDN服务,之前是否能共用
  • 容灾重定向的时候,是优先找次近的Edge Server还是直接找Origin Server,还是都可以,靠配置。

相关笔记