cdn:CDN是什么?使用CDN有什么优势?华为云开发者社区

发布时间:2020-05-31 20:53:11   来源:网络

楼主提的问题分解关注点主要两个:

1、CDN是什么?CDN有什么优势?

2、对于场景如纯内网的应用是否需要CDN?

小宅先对您最关切的问题2结论就是,对于您所说的纯内网软件开发部署场景不需要使用CDN,只有当您需要大规模对互联网对对公网发布的时候就需要考虑部署架构以及CDN服务的问题。(PS:也有内网需要用到CDN的场景的,比如电信IPTV,移动OTT,广电数字电视这种大内容应用,服务属于广域网了。)

下面回到问题1的话题,这个属于科普话题了,小宅就不重复前面一些营销号搞的那么高深莫测了,先简单介绍下CDN提出的背景要解决什么问题而提,然后再介绍CDN概念及有哪些好处,以及对于我们业务部署来说关注点是什么。

CDN缘起背景(本段摘自《CDN技术详解》一书)

1991年之后的近十年间,公众主要以拨号方式接入互联网,带宽低而且网民数量少,此时主要的瓶颈在最后一公里——用户接入带宽,而没有给提供内容的服务器和骨干传输网络带来太大的压力。随着互联技术的发展和网民数量的增加,给内容源服务器和传输骨干网络带来越来越大的压力,互联网瓶颈从接入段逐渐向骨干传输网络和服务器端转移

1995年,麻省理工学院教授,互联网发明者之一Tim Berners-Lee发起的一项技术挑战造就了后来鼎鼎大名的CDN服务公司 Akamai。Berners-Lee博士预见到在不久的将来网络拥塞将成为互联网发展的最大障碍,于是他提出一个学术难题,要发明一种全新的、从根本上解决问题的方法来实现互联网内容的无拥塞分发,这项学术难题最终催生出一种革新性的互联网服务——CDN。当时Berners-Lee博士隔壁是 Tom Leighton教授的办公室,一位麻省理工学院应用数学教授,他被Berners-Lee的挑战激起了兴趣。Leighton博士意识到应用数学和运算学可以解决网络拥塞的问题,于是他请研究生Danny C. Lewin和其他几位顶级研究人员一起破解这个技术难题。随后另外几位计算机科学和数据网络方面的科学家也加入Leighton博士的队伍中来,他们开发了数学运算法则来处理内容的动态路由计算,并开始实施自己的商业计划,最终成立 Akamai公司。这些世界级的科学家开发出一套突破性的运算法则,用于在网络服务器所组成的大型网络中智能组织路由和复制内容。

这一段注意小宅加粗的关键词,这几个信息代表了CDN要解决的互联网访问关键问题点:1、“最后一公里”瓶颈(终端接入);2、“第一公里”瓶颈(服务端接入);3、解决长途骨干传输瓶颈;4、对等互链关口;另外还有一个关键信息Akamai世界上目前算CDN的鼻祖公司也是最牛逼公司诞生了(从过程看要让娃娃们学好数学,数学是科学技术第一生产要素啊!)。

看到这里是不是感觉这些词有那么点熟悉?对的,其实他跟我们现实生活的物流网一样样的,举个例子:以前在网上购物,买家付款之后,卖家确认发货。如果卖家是在北京,买家是在深圳,那么要把货从北京发到深圳,可能需要3-5天的时间,我记得08年的时候我购物从北京到深圳还要7~10天的样子。但是,如果卖家在深圳设立了一个物流转运中心,先把自己的货提前囤到深圳或者周边临近的广州、东莞的仓库,那么我们深圳的买家拍了一件商品,卖家不需要从北京发货,而是可以直接从深圳或者临近的仓库发货,可能就是一天的时候,买家就能收到货。京东,大家不陌生吧(最近很火),为什么京东自营或者物流的速度那么快,就是如此(在深圳有仓库,仓库里面有我们要买的货)。物流体系非常强,服务迅速,快就一个字!

好了有了上面的例子,在很大程度上能帮助大家理解CDN的概念了,CDN是什么?

度娘的解释,CDN的全称:CONTENT DELIVERY NETWORK,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。

通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息,将用户的请求重新导向离用户最近的服务节点上,这些就是边缘CDN节点,这些节点会跟源站节点进行内容预热存储起来,然后根据相关的调度为临近客户提供服务

其目的是使用户可就近取得所需内容,解决INTERNET网络拥挤的状况,提高用户访问网站的响应速度,解决快就一个字的问题。

两张图(图片来自网络)给大家对比下CDN服务部署前后的区别:

部署前:

部署后:

从上面可以看到部署后,终端访问者就是从离TA最近的CDN服务器节点访问需要的内容,这就解决了长距离传输,跨对等网关访问,省去了源站的大量访问拥塞和带宽浪费的问题

CDN的关键技术主要有内容路由技术、内容分发技术、内容存储技术、内容管理技术等。

关于具体技术这里就不展开讨论了。

那使用CDN有什么好处呢?

第一:有利于GOOGLE等搜索排名

GOOGLE已经把网站的打开速度当做一个重要的指标,所以网站的打开速度会影响排名。

使用CDN之后,网站由于打开速度变快,这样可以减少跳出率,也可以增加用户对网站的友好体验。

第二:有利于转化

毫无疑问,用户访问网站的时间提高了,跳出率减少了,当然会利于网站的转化率和销售量。

大家应该都没有耐心去等一个需要10秒才能打开的网站,这样的网站一开始就不友好,更别想提高网站的转化率了。

第三:网站不容易宕机

如果网站没有使用CDN,如果在同一时间涌入大量的流量,那么网站就会很可能会宕机。

使用CDN之后,可以减少网站宕机的情况,同时您的网站可以接收更多的流量。

第四:减少托管成本

很多网站使用VPS或自己购买服务器来托管网站,而很多VPS或服务器是有带宽限制的,使用CDN能减少成本。

使用CDN之后您的文件是被存储到不同的服务器上,所以能减少因为带宽而产生的费用。

可以这么说CDN主要服务于互联网业务,对于大部分企业和站长我们业务部署使用来说对CDN关注什么?

1、节点覆盖能力-》速度,节点数越多,用户可以享受到的加速效果越好

2、功能,功能越多越好

3、稳定,不稳定的CDN可不敢用

4、安全,不能出现安全问题。

5、对SEO好处越多越好。

好了,关于这篇科普答复就算答完了,总之CDN关键就是为了解决互联网访问瓶颈而生,所以CDN选择不“稳定”不看,不“快”不选,不“安全”不用,对于楼主的软件内网应用开发场景根本用不到CDN,后面如果公网部署的时候想用CDN可以参考后面,小宅会对市面CDN相关的产品厂商做相关的介绍。

更多回复:

知乎网友匿名用户:

要是比较小的内网(不是那种有几个异地分部通过vpn搭建的内部网络),就没必要上CDN,内网的速度本来就很快。

局域网里能下的东西从公网绕一遍,反而会变慢,而且还要受到运营商的带宽限制。


知乎网友小枣君:

大家好啊,我是小枣君。

昨天刚写了篇关于CDN的科普向文章,放在这里:

小枣君:到底什么是CDN?