CDN介绍

一、CDN 基本概念

CDN(Content Delivery Network,内容分发网络) 是一种通过在全球部署边缘节点,利用全局负载调度机制将内容就近分发给用户,从而加速互联网访问的服务。

核心目标:降低网络延迟、减少源站压力、提升用户访问体验。

DNS

DNS 解析策略

常见的 DNS 解析策略包括:

  • 轮询(Round Robin):DNS 服务器按顺序返回多个IP地址,实现请求的轮流分发到不同的服务器上。

  • 权重(Weighted):为每个 IP 地址分配不同的权重,权重越高的服务器被选中的概率越大。

  • 响应时间(Response Time):DNS 服务器可以通过测量服务器的响应时间来选择最快的服务器,将域名解析为对应的 IP 地址。

各个 DNS 解析产品可能采用的解析策略不一样,以 DNSPod 解析为例,他采用的就是权重 + 随机的策略

但基于 DNS 的负载均衡同样也存在一些弊端:

  1. 目前的 DNS 系统是需要经过递归服务器、顶级服务器、权威服务器以及众多缓存等多级解析的,在每一个环节都可能存在解析记录缓存。如果服务器 IP 发生变动,即使修改了 A 记录,也需要各级缓存失效后才能生效。而在解析生效前的这段时间,用户可能就会根据缓存记录访问到已经被更换过的服务器上,从而导致访问失败。

  2. 为了本地 DNS 服务器能够及时同步权威服务器上的最新记录,所以一般将 DNS 缓存刷新时间设置得比较小,这就会导致 DNS 频繁发起解析请求,从而造成额外的网络问题。

  3. DNS 本身并不具备主动监测服务器负载情况或动态调整权重的能力,不能区分不同服务器之间的性能和负载差异,不能反映服务器当前的运行状态,所以一些大型网站总是使用 DNS 域名解析作为第一级负载均衡手段,然后在通过负载均衡服务器提供更高级的负载均衡算法(比如最少连接:将请求发送到拥有最少开放连接的服务器),从而完成最终请求。

二、CDN 演进历程

版本时间业务对象核心能力
第一代(Web加速)1998-2005静态 Web 内容(图片、CSS、JS)主要缓存静态文件,减轻源站带宽压力
第二代(流媒体分发)2005-2010视频、音频等大文件支持大规模媒体流分发,引入分片和渐进式下载
第三代(P2P 融合)2008-2015大文件/热点内容与 P2P 技术结合,利用用户侧带宽降低源站负载
第四代(云原生 CDN)2013-至今全类型内容(含动态加速)与云计算深度融合,支持边缘计算、Serverless、动态请求加速

三、CDN 的核心特点

  1. 分布式节点部署 – 内容分布在多个地理位置的节点上

  2. 智能流量调度 – 通过 DNS 解析或 HTTP 重定向将用户导向最优节点

  3. 内容缓存与刷新 – 节点缓存内容,支持预热和刷新机制

  4. 全局管理能力 – 包含负载均衡、内容管理和监控运维

四、CDN 的三大组成部分

组成部分对应平面功能说明
内容路由系统控制平面负责将用户请求调度到最优节点
内容分发/管理系统管理平面负责内容从源站到边缘节点的分发、同步、更新和过期管理
Cache 节点网络数据平面实际存储和响应内容的缓存服务器集群,构成CDN的物理基础设施

五、CDN 基本原理(核心流程)

CDN 的核心思想是在用户和源服务器之间增加一层缓存层,通过接管 DNS 解析将用户请求引导到最近的缓存节点。

完整访问流程如下:

步骤动作描述
用户在浏览器中输入要访问的域名(如 www.example.com
浏览器发起 DNS 解析请求。由于 CDN 服务商在权威 DNS 上配置了策略,DNS 解析返回该域名的 CNAME 记录,指向 CDN 厂商的专用域名(如 www.example.com.cdn.dnsv1.com
浏览器对 CNAME 域名再次发起 DNS 解析。CDN 厂商的 DNS 服务器根据用户 IP 所在地理位置、节点负载等因素,返回最优 CDN 边缘节点的 IP 地址
浏览器向该 CDN 缓存服务器发起 HTTP/HTTPS 请求
缓存服务器检查本地是否有该内容的有效缓存:
• 命中缓存 → 直接返回内容给客户端(流程结束)
• 未命中 → 缓存服务器通过内部 DNS 或配置获取源站真实 IP,向源站发起回源请求
源站返回内容给缓存服务器,缓存服务器本地存储一份(根据Cache-Control等头信息决定缓存时长),同时将数据返回给客户端
客户端收到数据并渲染展示,完成整个请求过程


六、DNS 解析策略

常见的 DNS 负载均衡策略

策略类型说明
轮询(Round Robin)按顺序轮流返回多个 IP
加权轮询按设定的权重比例分配流量
地理位置(GeoDNS)根据用户 Local DNS 的 IP 归属地返回最近的节点
基于延迟/负载通过探测节点健康度和响应时间,返回最优节点
权重 + 随机(如 DNSPod)在权重基础上引入随机因子,避免同一节点过热

基于 DNS 的负载均衡的弊端

弊端说明
DNS 缓存滞后运营商 Local DNS 和浏览器都有缓存,节点切换后用户可能持续访问旧节点
无法实时感知节点健康DNS 不主动探测节点是否宕机或过载,可能将流量调度到故障节点
调度粒度粗调度依据是 Local DNS 的 IP,而非真实用户的 IP,可能导致调度不精准
TTL 更新延迟修改 DNS 记录后,需等待 TTL 时间才能全网生效,无法秒级切换

七、CDN 与 Nginx 的关系

CDN 缓存

CDN 的核心能力之一是在边缘节点上缓存内容,减少回源请求,降低源站压力。

Nginx 层缓存

Nginx 作为反向代理服务器,也可以在其自身层面开启缓存(proxy_cache)。在架构中常形成多层缓存体系

text

用户 → CDN边缘节点(L1缓存)→ Nginx反向代理(L2缓存)→ 源站

八、进阶概念

1. 图像 CDN(Image CDN)

  • 专门用于实时转换、优化和分发图像的服务

  • 提供 API 方式指定尺寸、格式(WebP/AVIF)、质量、裁剪模式等参数

  • 可为不同设备(移动端/桌面端/Retina屏)动态生成适配版本

  • 典型厂商:Imgix、Cloudinary、Akamai Image Manager

2. vCDN(虚拟化 CDN)

  • 将 CDN 软件与底层硬件解耦,支持在物理机、虚拟机、容器等多种环境运行

  • 可在 MEC(多接入边缘计算) 平台或网络边缘站点部署

  • 相比传统硬件绑定的 CDN,更具灵活性、弹性扩缩容能力

  • 典型应用场景:5G 边缘计算、运营商网络边缘节点


九、完整请求链路图(文字版)

text

用户浏览器
    │
    ▼(①输入域名 www.example.com)
DNS 解析(②返回 CNAME → cdn.example.com)
    │
    ▼(③解析 CNAME,返回就近边缘节点 IP)
CDN 边缘节点(负载均衡 + 缓存服务器)
    │
    ├── ④ 命中缓存 ──► 直接返回内容 ──► 用户
    │
    └── ⑤ 未命中 ──► 回源请求源站
            │
            ▼
        源站服务器(⑥返回内容)
            │
            ▼
        缓存节点存储一份(⑦同时返回用户)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kingairy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值