CDN的基本概念
1. CDN的由来
CDN的全称是Content Delivery NetWork,即内容分发网络。
由上图(用户访问服务器的拓扑图)可知,CDN使用此种拓扑结构,使用户可以就近获得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。
CDN的由来是为了解决不同地理区域的用户访问同一个网站高延迟而产生的,它通过在用户就近的地方部署更多的服务器(服务器上网站内容相同),从而使用户可以就近访问服务器。
用户就近访问服务器优点:
- 提高用户的访问速度;
- 减轻服务器的压力;
- 提升网站的稳定性和安全性;
2. CDN的原理
CDN加速是通过让用户就近访问来实现网站访问加速的效果。其主要有两个过程:内容推送过程和CDN加速的WEB请求过程。
2.1 内容推送过程
将内容推送到边缘节点(镜像服务器)上,以此产生一个副本,供用户访问。
2.2 CDN加速的WEB请求过程
3. CDN的分类
CDN按照内容可分为:网页加速、流媒体加速、大文件加速、应用协议加速;
CDN按照推送类型可分为:主动推送、被动获取;
3.1 网页加速
静态资源部分,一般短时间内不会改变,因此可以部署到CDN边缘缓存服务器。此时用户可以快速访问到静态资源,以此提高用户网页访问速度。
3.2 流媒体加速
为了使用户得到更高的浏览体验,并且保证流媒体的知识产权,流媒体平台常采用分片处理。
3.3 大文件加速
基本上不会改变。
3.4 应用协议加速
3.5 主动推送
3.6 被动获取
4. CDN的应用场景
应用场景一:网站服务的客户群体从独立区域扩张到全国范围,而自身服务器不足以覆盖全网用户,导致部分地区用户访问网站速度慢,到达率不高。
使用CDN的优点:
- 节省开支;
- 不需要考虑未来追加增量服务器;
- 加速效果更加明显;
- 覆盖范围更广;
应用场景二:网站已经实现静态动态资源分离,且静态资源服务器能力达到极限,需要通过增加服务器硬件设备才能解决问题的。
使用CDN的优点:
- 节省开支;
- 比自己搭建反向代理简单方便;
- 不需要对当前业务代码进行任何修改;
- 不需要考虑未来追加增量服务器;
- 加速效果更加明显;
- 大幅度降低本地静态资源服务器压力;
应用场景三:网站频繁遭到DDoS攻击、CC攻击、DNS劫持,导致用户体验差、网络堵塞、无法提供正常服务。
使用CDN的优点:
- 提高网站安全性;
- 保证用户访问到达率;
应用场景四:网站用户跨多个ISP(电信、联通、移动、铁通、长城),而自身服务器在其中一个机房的。
使用CDN的优点:
- 提高用户访问速度;
- 减少因运营商通道堵塞导致的访问失败;
应用类型一:电商领域
主要是针对图片、视频、静态页进行加速;
应用类型二:游戏领域
主要是针对安装包、补丁进行加速;
应用类型三:政企领域
主要是针对图片、视频、文件进行加速;
应用类型四:移动领域
主要是针对App安装包、App更新包进行加速;
应用类型五:直播领域
主要是针对视频流进行加速;
应用类型六:点播领域
主要是针对视频文件、视频分片进行加速;