CDN基础知识

目录

什么是CDN(加速器)

CDN的实现原理

使用CDN有什么优势

CDN应用场景


什么是CDN(加速器)

  1. CDN(Content Delivery NetWork):中文名为内容分发网络,是构建在现有网络基础上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率

  2. 通俗点说CDN就是边缘服务器:帮助用户近距离分发网页内容

    • 网页内容分为静态内容和动态内容

      • 静态内容:长期不需要改动的内容,比如点赞按钮

      • 动态内容:经常会变的内容,比如点赞数

CDN的实现原理

  • 静态内容

  1. 源服务器发送文件给CDN的时候可以利用HTTP头部的cache-control(可以设置文件的缓存形式),CDN就知道哪些可以永久缓存,哪些不可以缓存,哪些缓存有时效
  2. 源服务器把内容备份给CDN(push)

  3. 就近的CDN服务器就会把静态内容提供给用户

  4. 若源服务器没有把内容备份给CDN服务器,CDN就得去源服务器索取相应的静态内容(pull)

  • 动态内容

    1. 一般动态内容使用CDN无法达到加速响应的效果,常用于预防网络不稳定导致的数据响应不及时,比如时间

    1. CDN会提供运行在CDN上的接口

    2. 让源服务器用CDN的接口而不是源服务器自己的代码

    3. 这样用户就可以直接从CDN上获取时间,而不是从源服务器上获取了

  • CDN加速功能的实现主要由GSLB(全局负载均衡器)与缓存系统俩个主要功能系统来处理的

  • GSLB:基于智能的DNS技术实现,根据预先配置好的策略,为用户分配最合适的节点地址,下面是GSLB常见的调度策略

    • 基于Local DNS的静态调度:根据Local DNS的IP地址,在配置里找到IP所对应的区域,返回区域内最适合的CDN节点地址给客户端

    • 基于RTT的调度: 指节点到目标之间数据的往返时延,该策略会根据Local DNS的IP地址,将候选的CDN节点与该地址的RTT进行比较,并将其中RTT小的节点调度给用户。

    • 基于成本和宽带的调度: 成本方面主要从CDN厂商角度考虑,比如在某些业务少的地区,调度器会将部分请求调度给到其他区域的节点处理,这样可以减少在该区域的节点部署 。而基于带宽的调度则会根据CDN节点的出口带宽大小计算权重,分配访问请求。

    • 基于服务等级的调度:该策略基于目标域名的企业服务等级,通常会将质量更好节点分配给等级更高的企业客户,以便提供给高级别用户更好的服务。

  • 缓存系统

    • 缓存系统最基本的工作单元就是许许多多的Cache节点(缓存服务器),Cache节点负责直接响应最终用户的访问请求,把缓存在本地的内容快速提供给用户。同时 ,Cache节点也会与源站进行内容同步,把更新的内容以及本地没有的内容从源站点获取并保存在本地。

    • 缓存系统可能存在着多层级的架构,如典型的三层架构:边缘节点作为最接近用户的节点,提供给到用户进行就近访问。当边缘节点未命中资源时,会向上层节点请求。如果在中心节点仍未命中,则会回源到源站进行获取。

使用CDN有什么优势

  1. 防止恶意的DDos攻击源服务器,若遇到DDos攻击CDN服务器时,CDN会布局多台服务器,监控CDN服务器的负载情况,若某个服务器超载了,会将用户请求转移到没有超载的CDN服务器上,目的是平均分配网络流量

  2. 加速请求的响应效率,一般源服务器距离客户端距离较远,中间可能经过多个节点,节点之间可能产生堵塞/丢包等状况,CDN服务器就不会有这样的情况,它是就近分配服务器做出响应

  3. 负载均衡,CDN通过任播通信方式实现负载均衡,服务器对外拥有同样一个的IP地址,如果这个IP地址收到用户的请求后,请求会由距离用户最近的服务器响应,不管攻击有多猛,利用任播的技术把流量转移到另外没超载的服务器就可以缓解了

  4. CDN采用TLS/SSL证书来给网络进行保护

  5. 将文件进行最小化/压缩文档,比如CDN会帮你省略掉不必要的字符

  6. 减少费用,大部分网站由主机进行托管,网站主需要向主机商支付费用,网络贷款费用较高

  7. 减少CDN到源服务器之间的带宽的占用和使用

CDN应用场景

  1. 网站加速

    1. 主要针对门户网站、电商等业务场景,如网易、淘宝等站点。这类站点往往有着非常多的的静态内容文件(文本、图片等),CDN可对其进行加速处理,从而显著改善页面响应时间,提升用户的使用体验。

  2. 文件下载加速

    1. 文件下载加速是CDN的一项重要功能,常见的场景有软件补丁包发布、游戏安装包获取等,这类文件容量大,下载的过程中容易给源站带来性能和带宽压力。通过CDN的方式,可以有效分担这些压力,并提高客户端的下载效率。

  3. 流媒体加速

    1. 流媒体加速的方式是通过将流媒体内容推送到离用户最近的边缘节点,使得用户可以就近获取内容,从而提高视频传输质量、缩短访问时间,节省骨干网络的流量。流媒体加速包含直播和点播两种,此类模式适用于各类音视频网站和应用,如:抖音、爱奇艺等。

  4. 全站加速

    1. 主要针对动态内容较多的站点,通过智能路由、协议优化等动态加速技术,提升客户端到源站的网络效率,便于快速获取动态资源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值