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

简单来说,CDN就是为了网络内容访问速度“更快“而生的。那么如今的网络本身四通八达,为什么还需要CDN呢?

一、为什么需要CDN?

举个简单的例子,假设我们忽略网络传输的损耗、设备延时,网络传输速度接近光速,是30万公里每秒,从东京到美国硅谷的距离大概为1万公里,也就是说,如果你的服务器在东京,你上传了一张很小的图片,美国用户访问至少需要60毫秒。而且,这只是理论数据,现实世界中,网络环境是十分复杂的,跨地域、跨运营商、网络拥塞、抖动等问题,都会积少成多,使得延时成倍增加,还有可能访问失败,最终影响访问体验。

CDN的出现,正是为了解决这个问题。我们将这张图片分发并缓存在美国的CDN节点之上,美国用户就无需从东京获取数据,直接从就近的美国本地CDN节点获取到图片,这大大节省了传输时间,提升访问效率。CDN的节点通常会遍布全球,源站的文件会被被缓存到世界各地,这样全球用户都可以实现快速访问。

它有点像分布于各地的仓储物流点,很多品牌会预先在仓储物流点储备一些爆款商品(静态文件使用CDN进行缓存),当用户从电商平台下单购买货物的时候(用户发起请求),平台根据用户的收获地址就近匹配到最近的仓储物流点并直接进行派货(就近分发),让用户以最快的速度拿到快递包裹(分发的内容)。我们可以用实际的生活经验来做个对比,如果从江浙沪包邮区寄给杭州的用户,一般第二天就能到,如果是从北京、深圳发货,一般需要2-3天!

这就是CDN的缘起。简单来说,它就是一个分布式的缓存服务器,主要作用就是尽可能减少资源在转发、传输、链路抖动等情况下的时延,保障信息的连贯与极速。当下,我们生活在互联网世界,视频和直播在数据上有巨大的吞吐量,CDN扮演着护航者和加速者的角色,更快速、稳定地将信息触达每一个用户。

二、CDN的工作原理

下面,我们来进一步了解下CDN的工作原理。首先,关于CDN的那些名词,需要扫个盲。

  • Origin Server源站:做 CDN 之前的客户真正的服务器。

  • User:访问者,也就是要访问网站的网民。

  • Last Mile:最后一公里,也就是网民到他所访问到的 CDN 服务器之间的路径。

  • 域名:域名是Internet网络上的一个服务器或一个网络系统的名字,全世界,没有重复的域名。

  • CNAME记录:它是一个别名记录( Canonical Name );当 DNS 系统在查询 CNAME 左面的名称的时候,都会转向 CNAME 右面的名称再进行查询,一直追踪到最后的 PTR 或 A 名称,成功查询后才会做出回应,否则失败。

  • CNAME域名:CDN的域名加速需要用到CNAME记录,在阿里云控制台配置完成CDN加速后,您会得到一个加速后的域名,称之为CNAME域名(该域名一定是.kunlun.com), 用户需要将自己的域名作CNAME指向这个.kunlun.com的域名后,域名解析的工作就正式转向阿里云,该域名所有的请求都将转向阿里云CDN的节点。

  • DNS:DNS即Domain Name System,是域名解析服务的意思。它在互联网的作用是:把域名转换成为网络可以识别的ip地址。人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。比如:上网时输入的www.baidu.com会自动转换成为220.181.112.143

  • 边缘节点:也称CDN节点、Cache节点等;是相对于网络的复杂结构而提出的一个概念,指距离最终用户接入具有较少的中间环节的网络节点,对最终接入用户有较好的响应能力和连接速度。其作用是将访问量较大的网页内容和对象保存在服务器前端的专用cache设备上,以此来提高网站访问的速度和质量。

  • Cache:cache高速缓冲存储器一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问。存储器的高速缓冲存储器存储了频繁访问的RAM位置的内容及这些数据项的存储地址。当处理器引用存储器中的某地址时,高速缓冲存储器便检查是否存有该地址。如果存有该地址,则将数据返回处理器;如果没有保存该地址,则进行常规的存储器访问。因为高速缓冲存储器总是比主RAM存储器速度快,所以当RAM的访问速度低于微处理器的速度时,常使用高速缓冲存储器。

接下来是CDN的工作原理,最简单的CDN网络由一个DNS服务器和几台缓存服务器组成,如下图所示:

  • ①当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。

  • ②CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。

  • ③用户向CDN的全局负载均衡设备发起内容URL访问请求。

  • ④CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。

  • ⑤区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:根据用户IP地址,判断哪一台服务器距用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址。

  • ⑥全局负载均衡设备把服务器的IP地址返回给用户。

  • ⑦用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。

三、CDN的关键技术组件

看似复杂庞大的CDN系统,其中有几个关键技术组件:调度、缓存和安全。

1、 调度是 CDN 中的重中之重,流量接入、流量牵引、选择合适的 CDN 节点服务器等工作,都是在调度环节完成的。

2、 缓存也叫 Cache,是 CDN 领域最重要的一个组成部分,对于静态内容分发,大至视频点播、文件下载,小至 html 页面、jpg/gif/png 图片、css/js 等,都可以缓存到本地,最终用户(网民)访问时,不必回到原始服务器拿取数据,从而节省了时间、降低了源站服务器的网络带宽支出和负载。对于 CDN 来说,每台 Cache 机器每天的请求量是十分惊人的,磁盘上所存储的内容量也多得可怕,十几块 TB 级的硬盘被塞满数据也是很正常的事情,因此当一个请求到来时,能迅速检索出磁盘上的文件并读取、吐给最终用户成了一件很重要的事情。

3、 针对各类网络攻击,比如带宽饱和攻击、反射攻击等蛮力型攻击,还有XSS跨站、SQL注入、漏洞利用等技巧型攻击,CDN可以从隐藏源站、分布式架构、安全防护三个层面进行安全防护。首先,当网站接入CDN后,源站信息会被隔离,攻击者就无法直接对源站进行直接攻击,其次,CDN天然分布式架构可以当某些节点被攻击的时候,很快察觉异常并智能调度至正常节点,确保业务稳定,再次,对于技巧性攻击,在CDN边缘节点前置安全防护能力,与中心联动形成更完整、更贴近边缘的防护策略,有利于安全隐患的拦截。

推荐阅读:

世界的真实格局分析,地球人类社会底层运行原理

不是你需要中台,而是一名合格的架构师(附各大厂中台建设PPT)

企业IT技术架构规划方案

论数字化转型——转什么,如何转?

企业10大管理流程图,数字化转型从业者必备!

【中台实践】华为大数据中台架构分享.pdf

华为的数字化转型方法论

华为如何实施数字化转型(附PPT)

超详细280页Docker实战文档!开放下载

华为大数据解决方案(PPT)

爱奇艺CDN运维平台实践相关推荐

  1. TiDB 在爱奇艺实时分析场景的应用实践

    作者:luzizhuo 原文来源: https://tidb.net/blog/21ab5c22 本文根据路希在[PingCAP DevCon 2021]上的演讲整理而成. 视频回顾: https:/ ...

  2. 爱奇艺PC Web NodeJS中间层实践

    爱奇艺作为中国最大的互联网视频综合门户,一直致力于给用户提供更好的使用体验及观影品质.PC主站作为爱奇艺的门户,日均覆盖用户达千万级别.随着公司业务的扩展及端上对项目更新迭代的频率越来越快,对接口的性 ...

  3. 【推荐实践】爱奇艺推荐中台探索与实践

    猜你喜欢 0.某视频APP推荐策略和推荐算法详解 1.如何搭建一套个性化推荐系统? 2.内容推荐策略产品经理的方法与实践 3.京东推荐算法精排技术实践 4.微博推荐算法实践与机器学习平台演进 5.腾讯 ...

  4. 爱奇艺埋点投递治理实践

    9月26日下午,爱奇艺技术产品团队举办了第19期"i技术会",本次技术会的主题是"数据治理探索与应用",来自快手.美团.快看的几位资深专家同大家就相关议题进行了 ...

  5. 从 OpenStack 到 Mesos 再到 Kubernetes, 携程容器云自动化运维平台实践\n

    随着虚拟化技术和云计算技术的普及,IT互联网基础设施发生了很大的变化,底层的计算.存储.网络等资源也越来越复杂,需要有平台能管理好这些资源,尽量将工作流程自动化,将运维人员从繁重的手动工作中解救出来. ...

  6. 爱奇艺推荐中台探索与实践 附下载

    爱奇艺在高速业务发展过程中出现大量业务需要提供推荐服务的场景,然而业务团队一方面没有足够的推荐领域知识,另一方面也没有足够人力去搭建一套完善的推荐系统,导致业务团队很难提升各业务内的推荐效果. 爱奇艺 ...

  7. 爱奇艺技术分享:爱奇艺Android客户端启动速度优化实践总结

    本文由爱奇艺技术团队原创分享,原题<爱奇艺Android客户端启动优化与分析>. 1.引言 互联网领域里有个八秒定律,如果网页打开时间超过8秒,便会有超过70%的用户放弃等待,对Andro ...

  8. i技术会 | 爱奇艺效果广告探索与实践

    今天分享的主要内容分为以下四块内容:爱奇艺效果广告产品介绍,主要是介绍爱奇艺效果广告的主要资源位以及对应的售卖形式:二是效果广告排序算法实践介绍,这里主要介绍在排序算法过程中使用的精排模型和粗排模型: ...

  9. js滤镜灰度计算_案例分享爱奇艺边缘计算探索与实践

    摘要: 随着云原生技术的发展和 5G 商用的到来,边缘计算随"风"而起.本文将从提升视频播放体验和降低带宽成本的两个目标,介绍爱奇艺在边缘计算服务平台和边缘缓存应用场景两方面的实践 ...

最新文章

  1. Bootstrap系列 -- 6. 列表
  2. python下载安装教程3.8.1-Python3.8.1下载
  3. python装饰器作用和功能_python装饰器大详解
  4. win7环境下创建超级隐藏账户
  5. 巴菲特2019年慈善午餐开拍 目前出价已超过11万美元
  6. python与office结合可以干什么-python与office(一)
  7. 洛谷oj---P1030 求先序排列
  8. 淘宝小程序开发demo下载
  9. Navicat Premium15安装与激活(完整激活版)
  10. 推荐一款Mac远程桌面工具——Parallels Client(免费)
  11. ubuntu如何安装rpm
  12. buzz fizz 翻译_【Oxford-2】The Fizz-Buzz
  13. 用OpenCV实现简单的泊松融合
  14. 查看全文的css,如何通过纯CSS实现“点击展开全文”功能
  15. 两种 HTTP 请求方法
  16. 一年中所有节日的排列顺序_【一年中的节日按时间顺序】时间顺序的春节风俗...
  17. openGauss并行解码浅谈
  18. 怎么选择好用的超级浏览器?
  19. tomcat启动正常,浏览器访问提示连接已重置
  20. consul命令行查看服务_Consul 命令行最全文档

热门文章

  1. 猎豹移动:公有云快速构建海外移动化应用基础环境
  2. egg-从入门到上线 (下)
  3. python 字符串时间转成时间戳
  4. 获取wangEditor编辑器的内容后,提交表单并获取编辑器的内容呢
  5. Zipkin服务端搭建使用教程
  6. nextTick的使用场景和基本用法
  7. 【C语言】case 关键字
  8. div居中方法(共9种)
  9. Qt使用.pri模块化工程
  10. 什么是软件测试架构师!【一文了解系列】