分布式还是混合式? 谈CDN架构对服务质量的影响

标签: 分布 混合式 cdn | 发表时间:2014-10-18 22:31 | 作者:
出处:http://www.iteye.com

 

传统分布式模型

通 常,内容分发网络(CDN)采用分布式模型。在这种模型里, 用户的文件存放在一个源服务器上,并且由大量边缘服务器负责分发这些文件。这些边缘服务器的磁盘空间比较小,所以大多数的文件被放在内存中。因此,当一个 文件传输至终端用户之前,如果该文件在边缘的CDN缓存服务器上不存在,那么这些服务器会先去原始服务器请求该文件或流。

这种分布式模型起 源于20世纪末,也就是在那时全球第一个CDN开始出现。当时在2000年的时候,CDN的主要挑战是从互联网服务提供商(ISP)的内部站点 (POPs)去传输网页内容。每一个接入POP的终端用户都会快速获得响应内容,而不是CDN首先通过网络--当时依然很慢--来访问源服务器;因为在这 种分布式CDN架构里,边缘服务器部署是部署在ISP内部用来缓存从源服务器拉下来的内容的。通过这种方式,CDN可以很容易把受欢迎的内容发送给大量的 互联网用户。

 

多媒体趋势暴露了传统分布式模型的缺点

然 而,随着互联网带宽和连接的爆炸性增长,传统的分布式架构越来越不明显。例如,欧洲有一个非常密集的互联网干线用来连接公共的网络交换点和私人的p2p网 络,而且绝大多说终端用户都可以转让自己的入网许可。在这样的环境下,为每个POP网络部署边缘服务器就不是很有意义,尽管CDN的可扩展性和负载均衡的 能力变得非常重要。

同时,在线多媒体消费的变化揭示了CDN传统分布式结构的局限性。由于多媒体文件的并发请求数在以几何形式增长,这导致 了流媒体服务、多媒体广告、用户制作的视频以及在线文档等文件量也在不断增多。此外,每个视频必须保证在不同的设备和平台上可用使用不同的格式和分辨率来 观看。同时,由于重放设备和终端用户带宽的增强,视频文件的平均大小也在不断增大。所有这些因素使得从边缘服务器缓存分发多媒体内容变得更加困难。为了满 足需求,磁盘空间有限的边缘服务器将不断地刷新其部分缓存,为当前必须要从源服务器加载的新文件腾出空间。这对传统的CDN分布式架构来说,导致了大量的 开销 :越来越多的边缘服务器需要提供相同数量的数据、大量的内部数据需要通过越来越大的连接管道从源服务器发送到边缘服务器。更要紧的是,对最终用户来说,这 可能会导致波动延迟和较低的服务质量(QoS) 。

 

RAMBLA 混合式CDN:一个完美的匹配多媒体传输架构


为了解决这些问题,当Rambla CDN在2005年被重新设计时,我们决定设计自己的混合式CDN架构。在这种混合式设计结构中,边缘服务器和源服务器之间没有区别,并且所有的服务器进行了优化以便从他们各自的缓存和磁盘上分发内容。这使得CDN更容易适应如分发多媒体数据的需求,同时使用相对少量的高端服务器。

在我们的混合式CDN架构中,每个CDN服务器都可以扮演一个源服务器的角色:提供存储和分发数据到其他的CDN服务器。每个CDN服务器也可以扮演一个边缘服务器的角色:通过专用的存储区域网络(SAN),直接从其缓存分发频繁被访问的内容,从磁盘分发很少被访问的内容。受益于当前的互联网基础架构,我们的CDN服务器不再需要部署到每个ISP网络内,只要实现所有的CDN服务器都有一个快速的、高带宽连接到主网络和ISPs(通过对等协议),这样就能满足全欧洲覆盖并能保证较快的下载速度以及为所有最终用户提供一个可靠的连接。

自推出 RAMBLA CDN 以来,我们一直在使用最新的技术来优化这种混合式CDN结构。尤其是,通过使用动态的发布集成的云实例,使得我们的CDN结构拥有了可即时扩展的能力,从而使得从性能上和地理上扩展CDN都成为可能。

 

更进一步:使用最高质量的服务分发多媒体数据

我们最新的研发方向,与IWT(一家科学技术创新机构)合资,旨在提供一个最佳的和稳定的服务质量(QoS)。超 过一定水平,Qos很难去衡量,因为它和每个流或者下载都不同。例如,如果边缘服务器的缓存中有视频文件,那么将对终端用户观看视频的体验产生重大影响。 因此,很多CDN的只是着重于实现足够的QoS,即一个可满足绝大多数终端用户的满意度即可。虽然这种方法可能足以满足传统的在线视频平台,但这不能满足 新一代的增值服务如流式的想用户应用程序传输音频和视频或者机顶盒,也就是所说的OTT服务。

我们混合式的Rambla CDN被设计成通过平等高速以及可靠的传输所有内容来提供高质量的Qos。这就是我们新的SkyWay软件。这种分布式后端组件简 化所有硬盘访问-指向一个专用SAN(存储区域网络)-来确保随机读操作可以以更快的速度完成,此外,它还持续性的监控CDN服务器和CDN服务器上的资 源,保证不论是缓存中还是硬盘中都有足够的资源来供CDN优化传输使用。为了达到这一目标,SkyWay可以动态推迟执行时间不是很重的进程、限制其他进 程资源的有效性、分配任务到其他服务器、释放并重新创建已有资源。通过这种方式,SkyWay保证服务质量在所有情况下任然最优。

 

 

1. 本文由mathew翻译

2. 本文译自rambla.eu文章distributed or hybrid:how cdns architecture affects your quality service

3. 转载请务必注明本文出自:程序员学架构(微信号:archleaner )

4. 更多文章请扫码:

 

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [分布 混合式 cdn] 推荐:

分布式还是混合式? 谈CDN架构对服务质量的影响

- - ITeye博客
通 常,内容分发网络(CDN)采用分布式模型. 在这种模型里, 用户的文件存放在一个源服务器上,并且由大量边缘服务器负责分发这些文件. 这些边缘服务器的磁盘空间比较小,所以大多数的文件被放在内存中. 因此,当一个 文件传输至终端用户之前,如果该文件在边缘的CDN缓存服务器上不存在,那么这些服务器会先去原始服务器请求该文件或流.

Google宣布Google CDN

- way - Solidot
Google宣布了最新的帮助加快互联网速度的工具Page Speed Service,加快静态网页的载入速度,不支持动态网页. 在开发者注册该服务之后,可将网站的DNS入口记录指向Google,然后Page Speed Service从服务器上抓取内容,采用最佳的Web性能方案重写网页,通过Google在全球部署的服务器将内容展示给终端用户,加快网页载入速度.

金山面试CDN

- - CSDN博客互联网推荐文章
今天去金山网络面试的时候,被问到 性能优化,我说了几个,最后说到了 CDN,我说要尽量把静态的内容放置到CDN,但是为什么呢. 面试官说既然你说到CDN,你就说说它的原理. 按我个人理解来说它是遵循就近原则,给用户找到最近的服务器来提供用户的静态内容,比如CSS文件、图像等,来提高用户访问网站的响应速度.

CDN缓存策略

- - 开心平淡对待每一天。热爱生活
   CDN这个东西,当然是个好东西. 所以看到有FAQ就理所当然的复制下来,其实,最近我突然想到一件事情,中国的地区域名还有一个很有意思的地域域名,那就是js.cn,所以,我悄悄的申请了两个域名,cache.js.cn和cdn.js.cn,就是想用来做这种CDN转发,当然,只是简单的. 我最初的想法是(有一小部分),如果我的服务器里有N多人装了DZ论坛,那么这些JS和CSS其实都是共用的.

CDN 工作原理

- - 互联网 - ITeye博客
1.CDN的实现基础是通过将DNS的域名设置为CNAME(就是指向另一个域名,但这个域名也是有A记录的(就是域名对应IP)). 2.CNAME的作用就是要求浏览器发送域名到CNAME这个域名的服务器去解析得到域名的IP,就是本地DNS不作IP解析,而由CNAME指定的服务器去解析. 3.CNAME指定的服务器去解析的IP地址是CDN的全局负载均衡设备IP.

[CDN] 第二代 CDN 架构和普通 CDN 架构

- cgeek - 扶凯
近来没有什么东西好写的,介绍一下我们公司几前年的一个东西,可能对很多人来讲是个新的东西. 我以后可以介绍一些这些公司的技术. 这次要讲的是普通 CDN 和我们公司的 C.

jQuery CDN failover 的方式…

- Tim - Gea-Suan Lin&#39;s BLOG
之前有在其他網站上看到 failover 的技巧,但剛剛才發現 jQuery 官方網站上也用上了類似的技巧,將 Google (ajax.googleapis.com) 與 EdgeCast (code.jquery.com) 的 CDN:. 雖然 jQuery 網站上是放在開頭,但放在 HTML 最後面也有一樣的效果….

如何诊断CDN故障

- - 火丁笔记
某项目使用CDN做文件下载服务,最近不时有网友反馈下载出错,因为CDN是第三方提供的,且节点众多,所以诊断起来有点麻烦,必须想想招儿. 首当其冲的问题是如何确认CDN有哪些节点. 幸运的是通过 阿里测提供的服务,我们能拿到这个IP列表,当然这个IP列表不可能百分百完整,不过应该包含了大部分的节点,有兴趣的可以参考 百度的JQuery CDN例子.

自建CDN资料收集

- - the5fire的技术博客
前端时间研究了下CDN的搭建,收集了不少资料,记录在此. 在CDN搭建方面,主要的几个软件就是:Squid,Varnish,Traffic Server还有nginx. 要了解整个过程还是得从网络基础开始. 土豆网CDN应用和实践:. 使用Apache Traffic Server代理服务器缓存视频文件.