分布式还是混合式? 谈CDN架构对服务质量的影响
传统分布式模型
通 常,内容分发网络(CDN)採用分布式模型。在这样的模型里, 用户的文件存放在一个源server上。而且由大量边缘server负责分发这些文件。这些边缘server的磁盘空间比較小。所以大多数的文件被放在内存中。
因此,当一个 文件传输至终端用户之前。假设该文件在边缘的CDN缓存server上不存在,那么这些server会先去原始server请求该文件或流。
这样的分布式模型起 源于20世纪末,也就是在那时全球第一个CDN開始出现。当时在2000年的时候。CDN的主要挑战是从互联网服务提供商(ISP)的内部网站 (POPs)去传输网页内容。每个接入POP的终端用户都会高速获得响应内容,而不是CDN首先通过网络--当时依旧非常慢--来訪问源server。由于在这 种分布式CDN架构里,边缘server部署是部署在ISP内部用来缓存从源server拉下来的内容的。通过这样的方式,CDN能够非常easy把受欢迎的内容发送给大量的 互联网用户。
多媒体趋势暴露了传统分布式模型的缺点
然 而,随着互联网带宽和连接的爆炸性增长。传统的分布式架构越来越不明显。
比如。欧洲有一个很密集的互联网干线用来连接公共的网络交换点和私人的p2p网 络。并且绝大多说终端用户都能够转让自己的入网许可。在这种环境下,为每一个POP网络部署边缘server就不是很有意义,虽然CDN的可扩展性和负载均衡的 能力变得很重要。
同一时候,在线多媒体消费的变化揭示了CDN传统分布式结构的局限性。因为多媒体文件的并发请求数在以几何形式增长,这导致 了流媒体服务、多媒体广告、用户制作的视频以及在线文档等文件量也在不断增多。此外。每一个视频必须保证在不同的设备和平台上可用使用不同的格式和分辨率来 观看。同一时候,因为重放设备和终端用户带宽的增强,视频文件的平均大小也在不断增大。全部这些因素使得从边缘server缓存分发多媒体内容变得更加困难。为了满 足需求,磁盘空间有限的边缘server将不断地刷新其部分缓存,为当前必需要从源server载入的新文件腾出空间。这对传统的CDN分布式架构来说。导致了大量的 开销 :越来越多的边缘server须要提供同样数量的数据、大量的内部数据须要通过越来越大的连接管道从源server发送到边缘server。更要紧的是。对终于用户来说,这 可能会导致波动延迟和较低的服务质量(QoS) 。
RAMBLA 混合式CDN:一个完美的匹配多媒体传输架构
为了解决这些问题。当Rambla CDN在2005年被又一次设计时。我们决定设计自己的混合式CDN架构。
在这样的混合式设计结构中,边缘server和源server之间没有差别。而且全部的server进行了优化以便从他们各自的缓存和磁盘上分发内容。这使得CDN更easy适应如分发多媒体数据的需求,同一时候使用相对少量的高端server。
在我们的混合式CDN架构中,每一个CDNserver都能够扮演一个源server的角色:提供存储和分发数据到其它的CDNserver。每一个CDNserver也能够扮演一个边缘server的角色:通过专用的存储区域网络(SAN),直接从其缓存分发频繁被訪问的内容,从磁盘分发非常少被訪问的内容。受益于当前的互联网基础架构。我们的CDNserver不再须要部署到每一个ISP网络内,仅仅要实现全部的CDNserver都有一个高速的、高带宽连接到主网络和ISPs(通过对等协议),这样就能满足全欧洲覆盖并能保证较快的下载速度以及为全部终于用户提供一个可靠的连接。
自推出 RAMBLA CDN 以来,我们一直在使用最新的技术来优化这样的混合式CDN结构。尤其是,通过使用动态的公布集成的云实例。使得我们的CDN结构拥有了可即时扩展的能力,从而使得从性能上和地理上扩展CDN都成为可能。
更进一步:使用最高质量的服务分发多媒体数据
我们最新的研发方向,与IWT(一家科学技术创新机构)合资,旨在提供一个最佳的和稳定的服务质量(QoS)。超 过一定水平,Qos非常难去衡量,由于它和每一个流或者下载都不同。比如。假设边缘server的缓存中有视频文件。那么将对终端用户观看视频的体验产生重大影响。
因此,非常多CDN的仅仅是着重于实现足够的QoS,即一个可满足绝大多数终端用户的惬意度就可以。尽管这样的方法可能足以满足传统的在线视频平台,但这不能满足 新一代的增值服务如流式的想用户应用程序传输音频和视频或者机顶盒,也就是所说的OTT服务。
我们混合式的Rambla CDN被设计成通过平等快速以及可靠的传输全部内容来提供高质量的Qos。这就是我们新的SkyWay软件。
这样的分布式后端组件简 化全部硬盘訪问-指向一个专用SAN(存储区域网络)-来确保随机读操作能够以更快的速度完毕,此外,它还持续性的监控CDNserver和CDNserver上的资 源,保证不论是缓存中还是硬盘中都有足够的资源来供CDN优化传输使用。为了达到这一目标,SkyWay能够动态推迟运行时间不是非常重的进程、限制其它进 程资源的有效性、分配任务到其它server、释放并又一次创建已有资源。
通过这样的方式,SkyWay保证服务质量在全部情况下任然最优。
1. 本文由mathew翻译
2. 本文译自rambla.eu文章distributed or hybrid:how cdns architecture affects your quality service
3. 转载请务必注明本文出自:程序猿学架构(微信号:archleaner )
4. 很多其它文章请扫码: