传统分布式模型
通 常,内容分发网络(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. 更多文章请扫码:
相关推荐
4. **支持大规模并发访问**:视频CDN架构能够轻松应对突发性的高并发访问需求,确保在任何情况下都能为用户提供高质量的服务体验。 ### 三、视频CDN架构的关键组件 1. **边缘节点**:边缘节点是CDN的核心组成部分...
分布式架构是将单一应用程序拆分为多个相互协作的服务,每个服务在独立的进程中运行,通过网络进行通信。这种架构允许系统水平扩展,以应对不断增长的用户需求和业务规模。 2. 基础设施 - 缓存: 缓存是提高系统...
从文档中可以了解到,凤凰架构是一套结合作者实践经验的理论总结,旨在帮助技术人员理解和掌握构建现代分布式系统的关键技术点,如微服务、服务网格、无服务架构等。微服务架构通过将单一应用程序划分成一组小服务,...
CDN(内容分发网络)是一种分布式网络...总结来说,这个超大规模的CDN架构设计涵盖了从基础的网络调度、服务分类、系统监控到复杂的技术选型和决策过程,充分体现了CDN在应对海量数据传输和保证服务质量方面的挑战。
在分布式架构中,负载均衡是关键一环,豆瓣可能采用了如Nginx等负载均衡器来分散用户请求,确保单点故障不会影响整体服务。数据库层面,他们可能实施了主从复制或者分片策略来提高读写性能,同时利用缓存技术(如...
综上所述,全分布式P2P-CDN系统架构的实验研究涉及了互联网、P2P、CDN、全分布式等多个技术领域。通过对这些技术的融合与创新,P2P-CDN系统有望成为下一代互联网媒体服务的关键技术,特别是在大规模、高动态的IPTV...
- CDN负载管理:指的是对内容分发网络中资源分配的优化,目的是为了更高效地服务于用户请求,提升数据传输的速度与质量。 该算法具体涉及到以下几个步骤: 1. 构建简化的DNS控制负载管理模型:这个模型主要针对泛播...
大型分布式电商系统架构的构建和演进是一个复杂且系统性的过程,它涉及到多个技术领域和设计原则。在从0开始构建这样一个系统时,我们需要考虑的关键点包括:高可用性(High Availability)、可扩展性(Scalability...
CDN(Content Delivery Network)是一种分布式网络服务,通过在全球范围内部署多个缓存服务器,将内容分发到离用户更近的地方。当用户请求内容时,CDN会利用全局负载均衡技术,将请求导向最近的缓存服务器,以减少网络...
### 分布式架构理解总结 #### 一、分布式协作及配置管理系统 分布式协作及配置管理系统在分布式架构中扮演着至关重要的角色。这类系统的核心任务包括服务发现、配置管理以及节点间的协调工作。例如: - **...
【Java高并发高性能分布式框架】的设计与微服务架构 微服务架构模式近年来备受关注,得益于服务数量的激增以及云计算技术的发展。这种架构模式主张将单一应用分解为一系列小型服务,每个服务都在独立的进程中运行,...
P2P(Peer-to-Peer,点对点)技术则是一种网络架构模式,它打破了传统的客户端/服务器(C/S)架构,通过在用户之间直接共享文件或服务,具有良好的扩展性。但P2P技术也存在安全性、可控性方面的问题。 本文利用CDN...
总而言之,分布式架构为银行核心业务系统提供了新的发展机遇,通过引入互联网分布式技术,银行可以有效降低运营成本、提升服务质量、增强客户体验,同时保持核心业务系统的安全性、稳定性和可靠性。然而,要实现这些...
1. **服务架构**:通过面向服务的架构(SOA)将系统划分为多个独立的服务,每个服务负责特定的功能,例如上传服务专门处理图片上传逻辑,检索服务则专注于图片的检索和分发。 2. **数据存储**:采用分布式文件系统或...
### CDN运营支撑平台架构实践 ...通过对云架构的发展趋势、互联网商业架构的变化以及网络问题的深入分析,我们可以更加清晰地认识到CDN的价值,并在此基础上构建出更为高效、稳定的CDN运营支撑平台。
腾讯云分布式对象存储架构设计与实践 本文档总体概括了腾讯云分布式对象存储的架构设计与实践。以下是从标题、描述、标签和部分内容中提炼出的知识点: 一、市场背景与产品背景 * 如何为企业客户提供存储海量全球...