很多人都知道CDN是内容分发加速,所谓内容分发,就是将本来位于源站的内容分发到全国各地的节点,方便用户去就近访问所需的内容。随着移动互联网、云计算等一代代技术变革,CDN已经成为了缓解互联网网络拥塞、提升应用响应速率、改善用户体验的重要互联网基础设施。

前瞻产业研究院的数据表示,2019年超过50%的互联网流量将通过CDN进行加速,到2020年,全球CDN市场规模将增长到157.3亿美元。也就是说,越来越企业开始意识到使用CDN的必要性。尤其是2019年,我国正式进入到5G商用元年,大带宽、低时延、大连接的应用场景将迎来爆发,这对CDN节点覆盖和响应速度都有了更高的要求,这也会推动CDN边缘节点进一步发展。

CDN的“不可或缺”似乎已经成为共识,那么究竟这一共识是怎么产生的呢?假如没有CDN的存在,网络世界又会变成什么样?身为网络原住民的我们会面临什么困扰呢?

场景一:当你要网购

图片载入慢、视频加载中、交易卡住不动……没有网购的畅快体验,好像宝贝都不香了呢

场景二:当你看球赛

解说总比进球快那么几秒钟,欢呼卡不到点上的感觉真的很难受

场景三:当你要上网课

因为卡顿,好好的一节网课上出了鬼畜风格,被老师cue到时再也不用假装静止逃避答题,因为是真的卡住了

场景四:当你的公司要做个网站在线营业

相传当用户访问一个网站时,如果等待网页打开的时间超过8秒,会有超过30%的人放弃等待…… 可怕的8秒魔咒怎么破?花了很多心思让用户来到官网,却留不住他们怎么办?

以上只是列举,如果没有CDN,整个网络世界就会慢下来,拥塞、加载缓慢、卡顿、延时、掉帧、花屏……等等问题接踵而来,访问速度变慢,获取信息速度就会变慢,原本丰富的内容无法观看、令人心动的交互体验无法完成,你是不是会因此而放弃浏览呢?

其实身为重度网民的我们无时无刻不在享受着CDN带来的优质网络访问体验,刷短视频、抢火车票、玩游戏、看直播、下载手机APP、逛论坛博客……这背后的分发加速都是由CDN提供的。尤其是在今年开年的硬核“防疫”背景下,万物皆上云,云买菜、云看病、云上课、云办公、云逛景区、云买豪宅、云上开庭等等情况下,CDN更加成为十分抢手的一种战略资源储备,承载着整个互联网的流量,为数亿网友的宅家生活保驾护航。

那么,CDN的原理究竟是什么?

下面为大家介绍一下CDN的原理。最简单的CDN网络由一个DNS服务器和几台缓存服务器组成:
①当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。
②CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。
③用户向CDN的全局负载均衡设备发起内容URL访问请求。
④CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。
⑤区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:根据用户IP地址,判断哪一台服务器距用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址。
⑥全局负载均衡设备把服务器的IP地址返回给用户。
⑦用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。

为什么非CDN不可?

1. 为了提升用户访问体验
将静态内容,比如图片、视频、音频、JS文件、CSS文件、静态页面等内容缓存到CDN节点上,实现用户请求后的就近访问,降低传输链路延时。

2.为了实现跨运营商、跨地域的全网覆盖
互联不互通、区域ISP地域局限、出口带宽受限制等种种因素都造成了网站的区域性无法访问。CDN加速可以覆盖全球的线路,通过和运营商合作,部署IDC资源,在全国骨干节点商,合理部署CDN边缘分发存储节点,充分利用带宽资源,平衡源站流量。

3.为了保障你的网站安全
CDN的负载均衡和分布式存储技术,可以加强网站的可靠性,相当于无形中给你的源站添加了一把保护伞,将绝大部分的互联网攻击事件与源站隔离,避免源站遭到恶意攻击而带来的业务停摆或者资产损失。

4.为了异地备援
当某个服务器发生意外故障时,系统将会调用其他临近的健康服务器节点进行服务,进而提供接近100%的可靠性,这就让你的网站可以做到永不宕机。

5.为了节约成本投入
使用CDN加速可以实现网站的全国铺设,你根据不用考虑购买服务器与后续的托管运维,服务器之间镜像同步,也不用为了管理维护技术人员而烦恼,节省了人力、精力和财力。

6.为了让你更专注业务本身
CDN加速厂商一般都会提供一站式服务,业务不仅限于CDN,还有配套的云存储、大数据服务、视频云服务等,而且一般会提供7x24运维监控支持,保证网络随时畅通,你可以放心使用。并且将更多的精力投入到发展自身的核心业务之上。

阿里云CDN在全球拥有2800多个节点,可以最大程度保证资源覆盖以及业务稳定性,帮助用户们获得最佳的加速体验。5月20日,阿里云CDN将要举办一场政企安全加速解决方案线上发布会,届时会有产品、技术专家们来和大家一起聊聊关于CDN行业应用、安全体系、国密算法的那些事,点击预约报名:https://yq.aliyun.com/live/2748

CDN百科 | 假如没有CDN,网络世界会变成什么样?的更多相关文章

  1. CDN百科第三讲 | 如果用了云服务器,还需要做CDN加速吗?

    在全站上云的背景下,云计算已经不仅仅是大型互联网公司的独享概念,正在被更多的传统企业.中小企业甚至个人站长所采用.在众多云计算服务中,最常见两个产品就是云服务器和CDN,今天的CDN百科第三讲,就给大 ...

  2. CDN百科第四讲 | 如何优雅地在云上“摆摊”——做直播带货,你不得不关注的技术

    最近,国家政策开始鼓励“地摊经济”,一时间各家企业平台纷纷推出地摊扶持政策,地摊概念股顺势大涨,地摊生态及配套商品也开始走俏,甚至在网络上也涌现出各种“新摊主速成攻略”,万亿的烟火经济俨然已经走上风口 ...

  3. CDN百科 | 最近,你的APP崩了吗?

    过去几个月里,#xxx崩了#这个话题频繁出现在热搜榜上,让不少程序员小哥哥瑟瑟发抖. 从疫情宅家时期著名的视频APP“三连崩”,到全面复工开课后的在线教育平台与办公软件频繁宕机,再到报复性消费引发的点 ...

  4. 关于cdn原理(就是内容分发网络)

    cdn,我理解其本质就是为了解决距离远产生的速度问题,使用就近的服务. 从中国请求美国一台服务器上的图片.一般比较慢,因为距离这么远,网络传输是存在损耗的,距离越远,传输的时间就越长.一般会看到浏览器 ...

  5. 【CDN】- 什么是CDN

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

  6. 网络协议 16 - DNS 协议:网络世界的地址簿

    [前五篇]系列文章传送门: 网络协议 11 - Socket 编程(下):眼见为实耳听为虚 网络协议 12 - HTTP 协议:常用而不简单 网络协议 13 - HTTPS 协议:加密路上无尽头 网络 ...

  7. CDN技术之--流媒体CDN系统的组成

    流媒体业务是一种对实时性.连续性.时序性要求非常高的业务,无论从带宽消耗上还是质量保障上来说,对best-effort的IP网络都是一个不小的冲击 –高带宽要求–高QoS要求–组播.广播要求(目前IP ...

  8. 七牛云 融合CDN测试域名 -> 融合CDN加速域名

    七牛云 融合CDN测试域名 -> 融合CDN加速域名 本篇主要讲解 如何将七牛云融合CDN测试域名 切换到自定义的加速域名上去,为什么会写这篇是因为我收到了一封 [七牛云]测试域名回收通知的邮件 ...

  9. 什么是个CDN???CDN是干什么的??

    1.什么是CDN??? CDN的全称是Content Delivery Network,即内容分发网络.其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络& ...

随机推荐

  1. 初识spring boot maven管理--HelloWorld

    配置文件配置好 了之后可以进行第一个例子的编写了! @Controller @EnableAutoConfiguration() public class SampleController { pri ...

  2. 一分钟掌握MySQL的InnoDB引擎B+树索引

    MySQL的InnoDB索引结构采用B+树,B+树什么概念呢,二叉树大家都知道,我们都清楚随着叶子结点的不断增加,二叉树的高度不断增加,查找某一个节点耗时就会增加,性能就会不断降低,B+树就是解决这个 ...

  3. php5.2安装memcached 扩展

    需要注意版本号,好坑. libmemcached release 1.0.16 - installed from sourcephp-memcached release 2.1.0 - install ...

  4. bash leetcode

    拓展:grep 193.  ref: https://blog.csdn.net/yanglingwell/article/details/82343407 Given a text file fil ...

  5. 使用phoenix踩的坑与设计思考

    本文主要介绍在压测HBase的二级索引phoenix时踩的一个坑,使用时需要特别注意,而且背后的原因也很有意思,可以看出HBase和Phoenix对元数据设计上的差异. 1.问题介绍 在做phoeni ...

  6. 团队作业-Beta冲刺 (第一天)

    这个作业属于哪个课程 <课程的链接> 这个作业要求在哪里 <作业要求的链接> 团队名称 RTD <团队博客链接> 这个作业的目标 剩余任务预估,分配任务(开发,测试 ...

  7. mysql小白系列_02 mysql源码安装标准化

    问题: 1.为什么数据目录和日志目录需要分开? 2.如何标准化配置多实例?(例如:一台物理主机上部署3306与3307两个实例) 3.详细描述MySQL编译安装的过程(截图安装步骤) 1.为什么数据目 ...

  8. python3.x 基础八:socket网络编程

    Socket socket就是一直以来说的“套接字”,用于描述:ip:端口,是通信链的句柄,客户端通过这个句柄进行请求和响应 普通文件的操作顺序:打开-读写-关闭,针对的是文件 socket是特殊的文 ...

  9. Maven+JSP+Servlet+C3P0+Mysql实现的音乐库管理系统

    项目简介 项目来源于:https://gitee.com/sunnyandgood/OnlineMusic 本系统基于Maven+JSP+Servlet+C3P0+Mysql实现的音乐库管理系统.简单 ...

  10. DBCP连接池和事物

    工具类案例 public static final String DRIVER = "com.mysql.jdbc.Driver"; public static final Str ...