开发者学堂课程【高校精品课-华中科技大学 -智能媒体计算:内容分发网络】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/811/detail/15718
内容分发网络
内容介绍:
一、CDN
二、CDN 网络的运行机制
三、映射系统
四、运营机制
五、Akamai(阿卡迈)流媒体 CDN
本课程继续讲互联网多媒体内容分发,前面讲代理缓存,代理缓存通常是被动的,而且缓存是需要时间的。为了克服代理缓存的一些缺点,在互联网的发展史上,技术人员提出了内容的分发网络。
一、CDN
内容的分发网络英文叫 CDN。是 content delivery/distribution network 的缩写,中间两个单词,不论是 delivery 还是 distribution,首字母都是 D,所以无论用哪一个,简写都是 CDN。
1.CDN 是部署在互联网上的一个大型的地理分布式服务器系统。
它分布在不同的地点,组成了一个系统,中心服务器周围都是 CDN
的服务器。
2. 从原始的中心服务器,来复制内容,把它推送到网络的边缘。
网络边缘是最接近终端用户的,这样做的好处,就是尽可能的减少中间瓶颈,来加快网络的访问,从而提升用户的体验。
在整个互联网上,如果一个全球性的服务器是中国,全球的其他的国家去访问,中间涉及到的整个网络状况是千差万别的,很难保证每一个服务质量,而有了 CDN 以后,找最接近的一个服务器,去给它提供服务。
传统的方式是都直接跟原始中心服务器发生关系,很显然服务是很难保证的。
3. CDN 提供商托管内容提供商的内容,推送给感兴趣的用户。
比如爱奇艺是内容提供商,网速是 CDN 提供商,爱奇艺把内容交给网速,网速作为内容的托管者,网速再推送给感兴趣的用户的一个过程。
二、CDN 网络的运行机制
图里边,左边是用户,位于某一个局域网里,最上方是原始的存储内容的服务器,比如是爱奇艺的数据中心,剩下的一系列的服务器都属于 CDN 里的备份的服务器。客户要访问某项内容时,运行的步骤。
1. 第一步,用户通过 web 来浏览器,来指定 url,向内容提供者请求内容,请求就被定向到了源服务器上,源服务器提供数据。
2. 第二步,原服务器接收到了请求之后,他决定只提供基本的一些内容,比如网站的一些索引页面,而其他的多媒体的内容,像视频什等等,交给了 CDN 去处理。他返回来第二步告诉你应该去访问谁。
3. 第三步,为了服务于高带宽要求和频繁访问的内容,源服务器将用户的请求定向到CDN 的提供商,已经和相应的CDN提供商签署了关系,CDN 的提供商的网络的架构,跟原服务器之间是有映射的。
4. 第四步,CDN 提供商,使用它的映射算法来选择备份服务器。内容到他的映射系统里面去。从里面去映射系统是干什么?要访问的内容在哪些服务器里面有,而映射服务器要来判断哪一台服务器距离你最近,而且的服务质量好,映射服务器就选择出来,被映射到的备份服务器就提供请求的对象的副本,为用户提供服务。
这就是整个的 CDN 的运行过程,大幅提升了服务的体验。现在的 CDN 网络被各个内容提供上了广泛的使用。
三、映射系统
cdn 起关键作用的一个系统就是映射系统。
1. 映射系统要收集网络和服务器的条件的历史和实时的数据。遍布在不同的地方,那网络情况是什么样?历史的就是过去的时间段里面它的情况怎么样,服务的性能怎么样,可以来判定未来的数据,同时,还检测一下当前的实时情况,历史数据和实时数据。共同的作为选择备份服务器的依据。
条件收集范围。比如流量拥塞的程度,是不是存在故障点,质量怎么样,用户的最终感知情况如何,启动时间,有效带宽、可用性,都是收集时关心的内容。
2. 性能优化,就根据这些条件来决定选择最少跳数或者是高可用的服务器,跳转的越多延迟越长。
成本优化,就是选择成本最低的,通常在两个之间是高度关联。
四、运营机制
运营机制是 CDN 的提供商要向内容提供商收费,因为内容提供商给 CDN 提供了内容的辅助和转发服务的,也就是说客户就是内容提供商。
CDN 提供商要向 isp 网络服务支付费用,向中国电信三大运营商,还有一些新的像阿里等,要支付费用,费用主要用来一个是要托管服务器,还要支付网络带宽的使用费用,还有一些其他的管理。全球,包括中国的各个省都建立了数据中心,很多数据中心都是托管别人服务器的,其中有一部分就是 CDN 提供商的。
五、Akamai(阿卡迈)流媒体 CDN
国际上著名的 CDN 提供商的叫阿卡迈。
1. 阿卡迈为全球的很多公司提供流媒体的服务。像苹果,微软,BBC,等等公司都在使用它的 CDN 服务器,
2. 服务平台包括多个传送网络。并针对特定类型的内容,进行了定制和优化,比如可以根据静是静态的网页内容,动态的新闻还是流媒体等。
3. 每个系统组件和底层技术的实现可以不同,以适合特定类型的内容。
4. 在较高的层次上,交付网络共享使用类似的体系架构,就对它的服务的服务对象是透明的,简化系统,国内也有很多的CDN的这个服务提供商,像网速等等。