| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
10年前发布

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

传统分布式模型

640.jpg

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

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

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

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

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

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

6401.jpg

为了解决这些问题,当Rambla CDN2005年被重新设计时,我们决定设计自己的混合式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 )

 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1413796410512.html
架构 软件架构