42
CDN原理以及如何部署 CDN 网络

内容分发网络(Content Delivery Network),是在现有 Internet 中增加的一层新的网络架构,由遍布全国的高性能加速节点构成。这些高性能的服务节点都会按照一定的缓存策略存储您的业务内容,当您的用户向您的某一业务内容发起请求时,请求会被调度至最接近用户的服务节点,直接由服务节点快速响应,有效降低用户访问延迟,提升可用性。虽然距离并不是绝对因素,但这么做可以尽可能提高性能,用户将会觉得比较顺畅。这使得一些比较高带宽的应用(传输高清画质的视频)更容易推动。内容分发网络另外一个好处在于有异地备援。当某个服务器故障时,系统将会调用其他邻近地区的服务器服务,进而提供接近100%的可靠度。

CDN(Content Delivery Network)是指内容分发网络,也称为内容传送网络,这个概念始于1996年,是美国麻省理工学院的一个研究小组为改善互联网的服务质量而提出的。为了能在传统IP网上发布丰富的宽带媒体内容,他们提出在现有互联网基础上建立一个内容分发平台专门为网站提供服务,并于1999年成立了专门的CDN服务公司,为Yahoo提供专业服务。由于CDN是为加快网络访问速度而被优化的网络覆盖层,因此被形象地称为“网络加速器”。  

CDN网络的诞生大大地改善了互联网的服务质量,因此传统的大型网络运营商纷纷开始建设自己的CDN网络,如AT&T、德国电信、中国电信等。随着市场需求的不断增加,甚至出现了纯粹的CDN网络运营商,美国的Akamai就是其中最大的一个,拥有分布在世界各地的1000多个节点。我国第一家纯粹的CDN网络服务公司是北京蓝汛公司,已从2000年开始建立了一个专门的CDN服务网络一ChinaCache。目前CDN网络已经突破50个节点,覆盖中国六大骨干网络一中国电信、中国网通、中国移动、中国联通、中国铁通网络以及中国教育网,带宽资源储备超过35G,服务的客户数量达到300多家。

   功能归纳纳起来,CDN具有以下主要功能:
(1)节省骨干网带宽,减少带宽需求量; 
(2)提供服务器端加速,解决由于用户访问量大造成的服务器过载问题; 
(3)服务商能使用Web Cache技术在本地缓存用户访问过的Web页面和对象,实现相同对象的访问无须占用主干的出口带宽,并提高用户访问因特网页面的相应时间的需求;  
(4)能克服网站分布不均的问题,并且能降低网站自身建设和维护成本;  

(5)降低“通信风暴”的影响,提高网络访问的稳定性。

今天这篇教程,就教大家部署腾讯云的静态内容加速 SCD,静态内容加速(Static Content Delivery,SCD)针对门户网站、电子商务、UGC 社区等业务场景,提供了强大的静态内容(如网页样式、图片、小文件)加速分发处理能力,极大地缩减了站点响应时间,实现复杂内容秒级加载,显著提升了网页用户的体验。

注册用户每月均可享受 10 GB 免费流量包,接入加速域名后于每月 1 号发放至您的账户。新开通 CDN 的用户还会在开通后的 6 个月内每月收到腾讯云赠送的 50 GB 流量包。

加速原理

假设您的业务源站域名为 www.test.com,域名接入 CDN 开始使用加速服务后,当您的用户发起 HTTP 请求时,实际的处理流程如下图所示:


详细说明如下:

  1. 用户向 www.test.com 下的某图片资源(如:1.jpg)发起请求,会先向 Local DNS 发起域名解析请求。
  2. 当 Local DNS 解析 www.test.com 时,会发现已经配置了 CNAME www.test.com.cdn.dnsv1.com,解析请求会发送至 Tencent DNS(GSLB),GSLB 为腾讯云自主研发的调度体系,会为请求分配最佳节点 IP。
  3. Local DNS 获取 Tencent DNS 返回的解析 IP。
  4. 用户获取解析 IP。
  5. 用户向获取的 IP 发起对资源 1.jpg 的访问请求。
  6. 若该 IP 对应的节点缓存有 1.jpg,则会将数据直接返回给用户(10),此时请求结束。若该节点未缓存 1.jpg,则节点会向业务源站发起对 1.jpg 的请求(6、7、8),获取资源后,结合用户自定义配置的缓存策略(可参考产品文档中的 缓存过期配置),将资源缓存至节点(9),并返回给用户(10),此时请求结束。

部署CDN

申请CDN接入

在使用 CDN 服务前,您需要进行实名认证及 CDN 服务的开通,新用户登录 CDN控制台 可以看到实名认证指引,单击前往认证可进行实名认证。完成实名认证后,进入 CDN控制台,确认您的实名认证信息及选择服务内容,完成后单击下一步。

CDN 提供了两种计费方式:流量计费、带宽计费,您可以根据业务模型选择合适的计费方式,更多详细说明请参见 计费说明。勾选同意服务条款后,单击【开通 CDN】即可开始使用加速服务。

接下来就可以开始接入域名了,点击左侧的域名管理按钮,然后再点击添加域名。

cnd2.png

然后在域名处填写你的域名,源站设置设置为你服务器的IP地址。其他暂时不管,我们点击确定按钮。

cnd3.png

点击添加按钮后,我们还需要修改当前域名指向的地址,需要指向新的cname地址,我们点击进入域名管理按钮。

cnd4.png

然后点击当前域名的管理按钮。cnd5.png

复制系统分配的CNAME域名test.techeek.cn.cdn.dnsv1.com

配置CNAME

接下来我们就可以配置test.techeek.cn的CNAME域名了,当然,每个人域名接入商可能不同,我这里以腾讯云域名管理为例。我们打开云解析的控制台页面,然后点击解析按钮。

cnd6.png

接下来添加或修改当前域名的解析地址。我们找到当前域名的主机记录然后点击修改按钮。

cdn7.png

将记录类型修改为CNAME,解析记录修改为刚刚系统分配的test.techeek.cn.cdn.dnsv1.com

cdn8.png

接下来耐心等待一段时间,我们就可以测试当前CDN是否生效了。

测试

在部署CDN前后,我们的服务器部署在四川成都,基本在居中的地理位置。我使用第三方测速工具站长之家-站长工具对当前网络进行测试,分为网站访问速度测试及Ping延迟测试,两次访问延迟都是越低越好。具体测试结果如下。

未部署CDN前

我们先来看看未部署CDN前的情况吧。

网站访问速度测试

cdn9.png

我们看到在未部署CDN前,国内大部分地区访问延迟都在1200ms延迟以上,四川地区大面积超时应该是站长之家的当地测试服务器出了故障。如果是动态网站或图片视频网站,1200ms将会造成图片视频加载缓慢。我们的服务器部署在成都地区,周边省市访问延迟基本控制在400ms~800ms,但是新疆,广东等地区延迟过高,所以必须加CDN以控制延迟。

Ping延迟测试

cdn11.png

我们看到Ping值大部分还是低于50ms,陕西地区大面积超时应该是站长之家的当地测试服务器出了故障。注意右侧表格,平均延迟82ms还是蛮高的。部分地区延迟甚至超过了100ms,总体来说情况还行,如果是游戏服务器,明显能感觉到延迟,所以还是需要优化。

部署CDN后

接下来看看部署完CDN后的情况

网站访问速度测试

cdn11.png

我们看到接入CDN后,原来平均延迟由214ms降到了8ms,可见CDN提升还是非常明显的,对用户来说,最大的感觉就是访问速度加快了。视频播放更加流畅,从数据方面来说,推荐接入CDN服务。

Ping延迟测试

cdn12.png

可以看到ping值最低甚至低于1ms以下,国内大部分节点延迟都控制在50ms以内,平均延迟由原来的82ms降到了现在的54ms,对游戏用户来说体验更加完美,丢包率低。所以非常建议大家接入CDN服务。



主要特点

1、本地Cache加速:提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性。  
2、镜像服务:消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量。  
3、远程加速:远程访问用户根据DNS负载均衡技术智能自动选择Cache服务器,选择最快的Cache服务器,加快远程访问的速度。  
4、带宽优化:自动生成服务器的远程Mirror(镜像)cache服务器,远程用户访问时从cache服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点WEB服务器负载等功能。 
5、集群抗攻击:广泛分布的CDN节点加上节点之间的智能冗余机制,可以有效地预防黑客入侵以及降低各种D.D.o.S攻击对网站的影响,同时保证较好的服务质量 。  



这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!