目录

CDN的原理

CDN的好处

全局负载均衡


CDN的原理

CDN这个技术其实说起来并不复杂,最初的核心理念,就是将内容缓存在终端用户附近

内容源不是远么?那么,我们就在靠近用户的地方,建一个缓存服务器,把远端的内容,复制一份,放在这里,不就OK了?

因为这项技术是把内容进行了分发,所以,它的名字就叫做CDN——Content Delivery Network,内容分发网络

具体来说,CDN就是采用更多的缓存服务器(CDN边缘节点),布放在用户访问相对集中的地区或网络中。当用户访问网站时,利用全局负载技术,将用户的访问指向距离最近的缓存服务器上,由缓存服务器响应用户请求。(有点像电商的本地仓吧?)

大家可能觉得,这个不就是“镜像服务器”嘛?其实不一样。镜像服务器是源内容服务器的完整复制。而CDN,是部分内容的缓存,智能程度更高。

确切地说,CDN=更智能的镜像+缓存+流量导流

而且还需要注意的是,CDN并不是只能缓存视频内容,它还可以对网站的静态资源(例如各类型图片、html、css、js等)进行分发,对移动应用APP的静态内容(例如安装包apk文件、APP内的图片视频等)进行分发。

我们来举个例子,看看CDN的具体工作流程

如果某个用户想要访问优酷的视频点播内容,那么:

具体步骤:

①、当用户点击APP上的内容,APP会根据URL地址去本地DNS(域名解析系统)寻求IP地址解析。

②、本地DNS系统会将域名的解析权交给CDN专用DNS服务器

③、CDN专用DNS服务器,将CDN的全局负载均衡设备IP地址返回用户。

④、用户向CDN的负载均衡设备发起内容URL访问请求。

⑤、CDN负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的缓存服务器

⑥、负载均衡设备告诉用户这台缓存服务器的IP地址,让用户向所选择的缓存服务器发起请求。

⑦、用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。

⑧、如果这台缓存服务器上并没有用户想要的内容,那么这台缓存服务器就要网站的源服务器请求内容。

⑨、源服务器返回内容给缓存服务器,缓存服务器发给用户,并根据用户自定义的缓存策略,判断要不要把内容缓存到缓存服务器上。

CDN的好处

采用CDN技术,最大的好处,就是加速了网站的访问——用户与内容之间的物理距离缩短,用户的等待时间也得以缩短。

而且,分发至不同线路的缓存服务器,也让跨运营商之间的访问得以加速。

例如中国移动手机用户访问中国电信网络的内容源,可以通过在中国移动假设CDN服务器,进行加速。效果是非常明显的。

此外,CDN还有安全方面的好处。内容进行分发后,源服务器的IP被隐藏,受到攻击的概率会大幅下降。而且,当某个服务器故障时,系统会调用临近的健康服务器,进行服务,避免对用户造成影响。

正因为CDN的好处很多,所以,目前所有主流的互联网服务提供商,都采用了CDN技术。所有的云服务提供商,也都提供了CDN服务(价格也不算贵,按流量计费)。

CDN和通信行业

CDN是从传统IT行业发展起来的一项服务。但是,对于我们通信行业来说,CDN也有非常大的商业价值。

互联网服务提供商采用CDN,是以存储换时延。花钱购置CDN服务器或云计算服务,以此换取更好的用户体验。

通信运营商也追捧CDN,但它们的目的,是以存储换带宽——通过服务“下沉”,减轻上层骨干网络的流量压力,避免硬件扩容,降低网络建设成本。

这个很好理解啊,如果大量的业务流量数据在骨干网跑来跑去,骨干网肯定吃不消,要拼命扩容。如果这些业务流量数据在底层就被解决了,那么,骨干网的带宽压力自然就减轻了。不是么?

全局负载均衡

全局负载均衡基于DNS、重定向、路由协议实现,能通过判断服务器的负载,包括CPU占用、带宽占用等数据,决定服务器的可用性,同时能判断用户(访问者)与服务器间的链路状况,选择链路状况最好的服务器。因此全局负载均衡是对服务器和链路进行综合判断来决定由哪个地点的服务器来提供服务,实现异地服务器群服务质量的保证。

引用地址:

1、到底什么是CDN? - 知乎

2、解读 | 一文带你了解什么是CDN

CDN是什么?以及CDN的原理相关推荐

  1. 智能CDN(上):CDN的访问过程和加速原理

    CDN(Content Delivery Network, 内容分发网络)是为加快网络访问速度而建立在现有网络之上的分布式网络,它依靠部署在全球各地边缘节点的服务器群,通过负载均衡,内容发布,内容管理 ...

  2. cdn刷新api_闲话 CDN

    开头 这篇文章通过 FCC 上海线下和成都微信的分享,整理成文字稿顺便凑一下更新,考虑到吃瓜读者们不知道都了解到啥程度,以及我科普作者的身份(自己定的),我决定从入门到放弃的介绍一下,大致涉及: 什么 ...

  3. CDN百科 | 假如没有CDN,网络世界会变成什么样?

    很多人都知道CDN是内容分发加速,所谓内容分发,就是将本来位于源站的内容分发到全国各地的节点,方便用户去就近访问所需的内容.随着移动互联网.云计算等一代代技术变革,CDN已经成为了缓解互联网网络拥塞. ...

  4. 什么是CDN什么是高防CDN

    最近很多博主都在跟小蚁反应一个问题,就是我的网站用户反应很卡,接下来我给大家分析一下这是什么原理,用什么办法可以解决这个问题? CDN的含义是内容分发网络,通过在网络各处放置节点服务器在现有互联网基础 ...

  5. 关于CDN以及如何绕过CDN寻找真实ip

    目录 一. CDN产生的背景 二. CDN的诞生 三. CDN原理 四. CDN好处 五. 检测是否存在CDN 六. 绕过CDN查找真实ip 实战分享-寻找真实ip绕过WAF防御机制 学习一项新的知识 ...

  6. 【CDN】- 什么是CDN

    高冷科普: CDN,Content Delivery Network缩写,即内容分发网络.通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量 ...

  7. 简述CDN 什么是CDN 为什么要用CDN CDN适用场景

    一.CDN的基本原理和基础架构 CDN是将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率.解决因分布.带宽.服务器性能带来的访问延迟问题,适用于站点加速.点播 ...

  8. 秒懂边缘云 | CDN基础入门:CDN缓存配置及优化

    作者:辰舒 使用CDN加速静态资源时,CDN会将源站上的资源缓存到距离客户端最近的CDN节点上.当您访问该静态资源时,可直接从CDN的缓存节点上获取,有效避免通过较长的链路回源,提高资源访问效率.在本 ...

  9. CDN百科第五讲 | CDN和游戏加速器有什么区别?

    很多懂IT的游戏玩家都会将CDN和游戏加速器混淆,实际上从效果上看,CDN和网游加速器都具备让网络访问变快的能力,可以帮助玩家游戏的体验和访问效率提升,但是在它们在原理上是有本质区别的. CDN对游戏 ...

  10. 海外cdn加速vs国内cdn加速

    海外网站cdn加速比国内便宜吗? 海外网站CDN加速服务相较于国内而言确实便宜,这是因为国内的CDN服务市场竞争激烈,价格被压得比较低,而海外CDN服务市场相对较小,价格相对较高.另外,海外CDN服务 ...

最新文章

  1. lamp安装zabbix(全源码安装)
  2. mysql知识点回顾(一)
  3. C++实现topological sort拓扑排序算法(附完整源码)
  4. TMS320F28335之定时器
  5. 第八十八期:4000万程序员最爱开源项目和编程语言排名出炉!
  6. AWS还是Firebase?在移动应用后端应该使用哪个?
  7. sitemap.xml 静态和动态生成页面 shopnc二次开发 动态生成sitemap.xml
  8. PMP考试教材有哪些?
  9. MES管理端介绍,ebr二次开发产品—SIMATIC IT EBR(Opcenter Execution Pharma)
  10. emi软件测试,电磁干扰EMI的测试标准及应用
  11. 微信网页投诉php,【分享】买的thinkphp微信无投诉按钮源码
  12. 魔性!Python生成全网爆火的“蚂蚁呀嘿”
  13. 2062【例1.3】电影票-一 c++语言入门-c++语言
  14. ASUS ZenBook Duo 14 UX481电脑 Hackintosh 黑苹果efi引导文件
  15. 电脑上的文件乱码了怎么修复?
  16. 职业规划 思维导图
  17. Python数据分析-NumPy模块-选取数组元素
  18. 递归算法到非递归算法的转换
  19. error: use of undeclared identifier 'bool'以及C各编译器问题
  20. 229. Majority Element II 【M】【52】

热门文章

  1. 文件下载文件中文名问题
  2. 201604-2 试题名称: 俄罗斯方块(100分)ccf认证
  3. etc门架系统服务器是什么,ETC门架是什么东西?ETC龙门架作用
  4. 软件需求分析——需求基础
  5. 简单提取iOS13的ipsw固件的内置壁纸(或文件)
  6. 新站如何做到短时间内获得大量的seo流量?
  7. 供应链金融与区块链02——论文阅读
  8. python中的head函数_Pandas DataFrame.head()用法例子
  9. quartus II 9.1的sof和elf 文件合并成JIC文件
  10. java实现数字0-9转换为繁体字