为何要使用一个 CDN 服务?

CDN(内容分发网络)是一种网站服务,可以让用户从周围最近的服务器上获取静态的内容(尤其是图像、视频、音频、CSS 和 JavaScript),服务器尽可能地遍布全球各地。一个 CDN 网络,说白了就是一堆会自动缓存的代理服务器。

那么,使用 CDN 有什么好处呢?首先,就是可以减少延迟。我的服务器在美国,从北京到美国的通信一次往返大约要 300ms,当我使用了 (有中国服务器的)CDN 之后,通信一次往返就只需要不到 10ms 了。除此之外,CDN 还能有效的减少下载时间,因为某些国家会控制网络流量的出口带宽,当使用了内地的服务器后,速度就能明显提升。

CDN 的工作原理

通常,你并不需要将文件上传到 CDN,你只需要将域名解析到对应的服务器。当用户访问你的网站时,就相当于访问到了这个服务器。这个服务器会检查是否有缓存,若有,那么会直接从这个缓存返回给你;如果没有,则会去从原始服务器上下载下来,然后再返回给用户。此后(再次在这个位置的)用户访问时, 就会直接从 CDN 上缓存的文件下载,速度大大提升。

访问你网站的用户越多,这个速度提升就越明显。如果大多数的请求都没有缓存,那么几乎就没有什么速度提升。除此之外,最好将 CDN 的域名放在一个没有 Cookie 的根域名下。

关于 CDN 的推荐,已经在新的一篇文章里总结概括

国内 CDN 服务推荐

又拍云

又拍云是一个使用起来非常方便的 CDN 服务器,价格极低,按需付费。在国内 CDN 节点覆盖良好,并且还有实时统计等功能。同时支持绑定自定义域名,免费自定义 SSL 服务。

又拍云同时支持静态加速和动态加速两种,适合全站 CDN 加速。

国外 CDN 服务推荐

KeyCDN

KeyCDN 使用起来也非常方便,节点覆盖全球,价格极低,按需付费。它也有实时的日志。同时支持绑定自定义域名,免费自定义 SSL 服务,同时提供免费的 SSL 证书(Let’s Encrypt)。KeyCDN 只支持静态资源的加速,

CloudFlare

为了使用 CloudFlare,你需要更改你域名的 NS 解析提供商,仅此而已,无需其他设置。CloudFlare 默认是动态资源加速。同时提供免费的 SSL 证书(Comodo Positive SSL Wildcard),而且 CloudFlare 是有免费版的。

本站点 CDN

本站点就是同时使用的 KeyCDN 和又拍云,目前近一个月来,KeyCDN 的缓存命中率为 98%,又拍云为 93%。总体来说速度不错了!

2016 年 8 月更新:现在是使用了 3 个 CDN,分别是 CloudFlare(所有 IPv6)、UPYUN(所有中国大陆请求)、KeyCDN(其他),使用 Nginx 替换 URL 实现。

“为何要使用一个 CDN 服务?”的8个回复

  1. 博主的网站16年1月的时候还没有备案的吧,怎么能用又拍云的CDN呢?
    如果有备案,博主用的是HK主机,又是怎么备案上去的呢?并且备案之后不能使用全站CDN,否则被备案ISP检测到域名指向非他自己的IP会吊销备案,所以博主同时使用三个CDN又是怎么处理这个问题呢?

  2. 麻烦问下,如何同时使用KeyCDN和又拍云?是在前面放一个分发,根据ip转到相应的cdn么?

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论可能需要审核才能显示,请尽量让自己的回复能够对别人有帮助

当有人回复你时你会收到邮件通知,你所回复的人能够看到你的电子邮件地址。