用户打开一个网站,请求往往要跨越数百公里到达源站服务器,距离越远,网络时延越高。对图文站点,这或许只是多等几百毫秒;对视频、直播这类大流量内容,源站带宽一旦被同时涌来的请求打满,就会出现卡顿甚至直接不可用。CDN内容分发网络的核心思路,是在离用户更近的地方部署大量边缘节点,把源站内容提前缓存到这些节点上,让用户就近取数,从而同时解决「慢」和「堵」两个难题。
一次典型的CDN访问会经历这样的流程:用户输入域名,DNS解析时CDN厂商会根据用户位置、运营商和节点负载,动态返回一个最优边缘节点地址;用户连接节点后,节点先检查本地是否已缓存所请求内容,命中就直接返回,未命中则回源拉取并缓存一份再返回。调度依赖全局负载均衡,通常在几毫秒内完成决策,缓存更新则通过TTL过期或主动刷新接口实现。
图片、样式表、脚本这类不常变化的静态资源最适合做缓存,命中率可做到九成以上;而登录、下单、搜索等需实时计算的动态接口无法直接缓存,CDN会通过智能路由、链路优化与回源加速来缩短用户到源站的路径。实际部署中,多数网站把静态资源走缓存、动态请求走回源加速,两者结合才能让整体体验最优。
选型时重点看三点:节点覆盖是否贴合自己的用户分布,国内业务要关注一线城市之外的覆盖,出海业务要考察海外节点数量;是否支持HTTPS、HTTP/2协议及自定义缓存规则、日志回传等运维能力;计费方式上,流量型、带宽型或按请求数计费各有适用场景。此外还应留意安全防护能力,好的CDN自带DDoS防护与Web攻击拦截,能替源站挡掉不少恶意流量。