七牛云CDN加速WordPress网站 - CDN介绍

本文章以比较通俗的语言讲述下 CDN 是什么,CDN 为什么能加速网站访问,为什么大部分网站都要使用 CDN,涉及细节部分并不需要我们用户了解,所以不会详细描述。文章如有错误,欢迎指出,也欢迎一起探讨。

1、CDN 是什么

CDN即内容分发网络(Content Delivery Network)的简称。简单地说就是 CDN 厂商在全国甚至全球各地,都部署了机房,每个机房就是一个 CDN 节点,然后节点自身也做了一定的优化。然后北京的用户访问就会分配到北京或者北京周边的节点,深圳的用户访问就会分配到深圳或者深圳周边的节点,就近原则;如果你的网站流量很大,这种策略也类似于负载均衡(一对一、一对多),一万个人同时访问你的网站,分配到全国各个节点肯定比只分配到一台服务器是要好的。

2、为什么 CDN 能够加速网站访问

首先说下最常见的网站架构,最常见的网站是搭建在一台服务器上的,服务器上配置好 nginx、mysql、php 等网站运行的必备环境,然后网站就可以运行起来,可以通过 IP 地址访问,如果你有域名的话,可以通过把域名解析到这个 IP 地址,然后用户输入域名就可以访问你的网站了。

2.1、没有 CDN 之前访问情况

比如你的服务器在北京,这时候北京的用户访问你的网站,离服务器近,访问速度当然也快;深圳的用户访问你的网站,由于离北京比较远,访问速度相对于北京用户来说会稍慢,但是由于都在国内,差异不大;如果这时候美国的用户访问你的网站,由于这时候属于跨国访问,访问网站的速度就会大大下降,严重影响用户体验。

2.1、使用 CDN 之后访问情况

当你的网站使用 CDN 后,北京的用户访问你的网站,会分配到北京或者北京周边的节点;深圳的用户访问会分配到深圳或者深圳周边的节点;美国的用户访问会分配到美国或者美国周边的节点。当访问人数很多的时候,还能够减小你北京服务器(源站)的压力,因为这时候用户访问的请求其实没有到服务器,全部在 CDN 节点上。

并且当该节点收到请请求后,会把该请求内容缓存到 CDN 节点上,后续还有用户访问到该 CDN 节点,则直接返回,访问速度大大提高,所以有时候会发现用了 CDN,但是请求还是慢,一般是因为是初次访问,该 CDN 节点没有该内容的缓存,也就是没有命中缓存,后续再次访问的话就会很快。

3、使用 CDN 后的利弊

3.1、利

  1. 加速网站访问,就近分配节点,实现跨运营商,跨区域全网覆盖。
  2. 隐藏服务器真实 IP 地址
  3. 可以使用各 CDN 产商的功能,比如防盗链,不同资源的针对性加速等等
  4. 节约服务器成本。即使购买 1 核 1 G 1M 的服务器也能应对大部分场景,因为只有第一次才需要回源,后续访问的压力都在 CDN 节点

3.2、弊

  1. 当一个文件名相同的文件,文件的内容发生了变化,由于之前已经有用户访问了该文件,文件就被缓存到 CDN 节点中,这时候你即使已经上传了新的文件,用户访问的还是旧文件,这时候就需要手动刷新 CDN 缓存或者带 query 参数请求,CDN 节点才会再次回到原站请求最新的文件。有时候开发过程中没注意这个问题会非常苦恼。
  2. 一不小心一栋楼就没了,使用 CDN 记得配置到防盗链等访问控制,不然很容易被盗刷。

4、CDN常用名词解释

  1. 加速域名:也就是你在 CDN 厂商后台添加的域名,比如你添加了一个域名,cdn.timhbw.com,那么这个就是加速域名,并不是说你现在网站的域名(timhbw.com)
  2. CNAME 记录:在你的域名解析商,点击【添加解析】的时候,会让你选择记录类型,用的最多的是 A,就是指向 IP。CNAME 也是记录类型的一种,Canonical Name 翻译为中文也就是别名。比如 cdn.timhbw.com 你添加了一个 CNAME 记录,记录值是:timhbw.com,那么访问 cdn.timhbw.com的时候,所有的请求会转到 timhbw.com。
  3. CNAME 域名:你在 CDN 厂商添加加速域名 cdn.timhbw.com,就会自动分配一个 CNAME 域名,比如七牛云是 xxx.qiniudns.com,腾讯云是:xxx.cdn.dnsv1.com,阿里云是:xxx.kunlun.com 类似这种。
  4. 动态内容:是指多次访问同一内容,响应返回的数据是不是相同的,比如API 接口、.jsp、.aps、.php等
  5. 静态内容:是指多次访问同一内容,响应返回的数据是相同的,比如图片、html、js、css、apk、ipa等
  6. DNS:也就是域名解析服务。作用就是你输入 timhbw.com 后,会自动把域名转换为网络可以识别的 IP 地址,经过一系列处理后,浏览器上就可以服务器返回的内容。
  7. 边缘节点(CDN 节点):也就是前面提到的 CDN 节点
  8. 命中率:用户请求的时候,如果该节点已缓存访问的内容,则直接返回给客户,则是HIT(命中),如果 CDN 节点没有该内容缓存,就需要回到源站获取,成为 MISS(未命中)。命中的请求数占总请求数的百分比就是命中率。
  9. 中间源:位于源站 和 边缘节点 中间的一个回源服务器。中间源服务器可缓存多个边缘节点的回源请求,对同一内容的请求,中间源服务器只需进行一次回源即可将内容分发至各边缘节点,可以降低源站的压力。
  10. 源站:就是实际的业务服务器,比如你的云主机,或者各大厂商的对象存储等
  11. 回源:当用户发起一个请求,边缘节点发现没有缓存该内容,则会回到源站去请求该内容。
  12. 冷资源:如前面所说,CDN 是利用缓存加速,会把资源存储在 CDN 节点,但是由于 CDN 节点的存储容量有限,当存储容量不够后,会按照“最近最少使用”原则,将最近访问的资源中访问频率最低的资源从节点中清除。
  13. range 回源(分片缓存):一般用在点播和下载平台等大文件分发,将一份文件拆分成若干个小文件回源,减少回源消耗流量。比如一个 500MB 的文件,当开启 range 回源后,客户端发起的请求中含有 range,则源站收到 CDN 的请求中也带有 range,客户端请求多少数据就响应多少数据,对应的 HTTP 状态码是 206,请求中断后也不会再请求。当没有开启 range 回源的时候,客户端发起的请求中含有 range,但是源站收到 CDN 的请求没有带 range,源站会返回完整的 500MB 的数据,会导致回源放大问题,就是 CDN只请求了 10MB 数据,但是源站却返回了 500MB 数据。
  14. 回源 HOST:回源 HOST 决定了 CDN 节点在回源站请求资源的时候,在源站访问的站点域名,也就是访问到该 IP 上的哪个站点,也就是 nginx 配置中的 server_name。
  15. 回源协议(协议回源):比如客户端使用 HTTPS方式请求资源,当 CDN 节点上没有缓存该资源,就会以相同的 HTTPS 方式请求源站获取内容。同理如果是客户端是 HTTP 请求,则 CDN 节点也以 HTTP 方式请求源站获取内容。
  16. 去参数回源(过滤参数):比如你使用两种方式访问同一个资源:https://static.timhbw.com/logo.jpg?test、https://static.timhbw.com/logo.jpg?cdn,可以看到链接后面有?test,这个叫 query 参数
    1. 如果这个功能开启,则 CDN 节点会使用 https://static.timhbw.com/logo.jpg 向源站发起请求,然后缓存
    2. 如果这个功能关闭,则 CDN 节点会使用 https://static.timhbw.com/logo.jpg?test 、https://static.timhbw.com/logo.jpg?cdn 分别向源站发起请求,然后分别缓存。

原文链接:点我

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267

推荐阅读更多精彩内容

  • 本想自己写这个主题的文章,但网上已经有人写了一篇非常好的文章,觉得难以望其项背。就没有必要再写,直接转载如下: 在...
    K丶Aionro阅读 2,091评论 1 23
  • CDN概念基本介绍 一 . CDN简介 什么是CDN? CDN的全称是Content Delivery Net...
    全能程序猿阅读 53,545评论 12 74
  • 前面了解了缓存的定义以及常用缓存的使用姿势,你应该对包括本地缓存、分布式缓存等缓存组件的适用场景和使用技巧有一定了...
    浥羽醉悠扬阅读 1,810评论 0 0
  • 一、什么是 CDN CDN的全称是(Content Delivery Network),即内容分发网络。其目的是通...
    Kandy阅读 46,389评论 5 28
  • 天麻自古就是一味良药,很多中医将天麻配入药方中,主治或兼治某些头痛或眩晕。在老百姓心目中,天麻也是大名鼎鼎,人见人...
    东润聊健康阅读 449评论 0 2