CDN原理及为自己的网站部署

CDN是什么?

CDN (Content Delivery Network or Content Ddistribute Network)内容分发网络。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。类似分布各地的物流仓储网络,CDN网络可以将源站的内容缓存到分布全球的CDN节点,根据用户的访问IP,就近连接CDN,提高网站响应速度。

一般的网站只有一台或一组服务器,用户访问站点时请求需要跨越复杂的路由链路,抵达网站服务器,经过tcp三次握手建立连接,服务器才会将站点数据传输给用户。

使用CDN加速后,CDN在全球的分布式节点将会拷贝一份源站的数据(图片、js、html等等),称为缓存,用户在访问源站域名时会被DNS解析到最近的CDN服务器,并且访问缓存资源。

普通的网站访问流程和使用CDN的网站访问如下图,其中蓝色链路是无CDN的链路

访问

为什么要使用CDN

从上面的流程中我们可以简单了解到源站访问的缺陷

  • 需要通过情况复杂的路由链路,用户请求网页到网页最终呈现的时间太长。用户满意的网页打开时间是在2秒以下,用户能够忍受的极限等待时间是8秒,超过8秒大部分用户会选择离开网页。
  • 连接质量受源站带宽限制,每增加一个用户,源站服务器就要扩充一份带宽才能满足需求,然而带宽的成本非常高
  • 连接数量受服务器性能限制,所有请求都需要源站服务器处理

CDN通过分布式方案,通过空间换时间的方法,用冗余的空间换取时间,是典型的分布式实例。上述问题的核心就是用户和网站服务器的物理距离以及传输速度,CDN通过缓存机制简单粗暴地缩短用户和访问内容的距离,以达到加速访问的效果。

CDN原理

CDN原理很简单,实现也非常清晰,具体做法就是将网站的内容——比如图片、文字、视频——存在不同地理位置的服务器上,称为CDN节点。

举例来说,某网站的主机在北京市的机房内,如网站不使用CDN,那么广东的用户访问该网站的时延就是数据包从广东到北京来回的时间。如果该网站使用了CDN,并且这家CDN在广州架设了节点,那么广东的用户去访问被缓存的内容时只要等待数据包在广东内传输的时间即可,以此达到加速的效果。 具体实现我在下面的例子里介绍

为自己的网站部署CDN

首先我的网站是GitHub Pages,域名为codeelites.cn(GitHub Pages 怎么更换域名可以百度一下)

编者按:事实上GitHub是有CDN的,并且是大型CDN,国外访问非常流畅,然而其CDN在国内由于众所皆知的原因无法访问,所以表现为非常慢

首先我们向服务商购买CDN服务,运营商会要求我们提供源站ip和域名。
这里我购买了腾讯云的CDN,国内因为政策原因要求域名必须备案,于是博主将自己的网站备了案(工信部、公安部审核大概一个月。。。备案过段时间出教程)

  • ping 一下自己的域名,获得源站ip,填入自有源站


    image.png

    其中CNAME是自动生成的,需要把域名解析修改为这里生成的CNAME

  • 修改域名解析
    在自己域名解析提供商修改域名解析记录



    因为GitHub在国外其实是有CDN的,访问很快,可以将原来指向github.io的解析调整成境外解析,新建一条境内解析,指向刚刚生成的CNAME。如果源站没有开启https,到这里CDN就配置成功了,基本上可以实现秒开页面。

配置CDN

既然是缓存, 就有缓存周期。如果源站内容有修改,用户访问CDN的内容将会与源站不符合,这就需要设定自动刷新缓存时间。由于我的是个人博客,更新频率不高,所以就设定为6小时更新一次。

HTTPS

如果源站开启了HTTPS,需要域名也进行SSL认证,开启HTTPS。HTTPS认真很贵,然而现在是云时代,自然有羊毛可薅。
腾讯云注册的域名可以免费申请SSL证书

可以申请免费的SSL证书后使用,在CDN配置页面添加自己域名的证书
image.png

并且选择协议跟随,再到CDN高级设置页面强制开启HTTSPS跳转

小网站也用上cdn+https了
ping 一下自己的域名,可以发现已经是CDN在响应
image.png

当然,无商不奸,CDN是按流量收费的,是各大网站的重要支出

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