前端层的复制是为了提高静态内容分发的性能和可扩展性。将静态内容的分发转由边缘服务器来完成是为了解决可扩展性的问题,因为这样做可以避免出现在对等点和广域网链路处的网络拥堵风险,而这两个地方的拥堵是网络延时的主要原因。
 
通过使用一个第三方的网络设施来加速静态内容的分发是一种提高内容分发网络边缘性能的常用方法。不过静态内容的分发仍然是一个棘手的工作,因为富媒体(rich-media)内容的使用已经变得越来越多,它产生的流量正在成为互联网流量的一个重要组成部分。将这类媒体内容的分发转移到接近客户端的地方,可以获得很大的好处,原因有二:首先由于这类内容的尺寸庞大,在对等点处的网络延时会使用户明显感觉到性能的下降;其次借助常用的HTTP流技术可以降低分发时间上的不确定性,使媒体的播放变得更加流畅。
 
由于多媒体内容的尺寸较大,所以通常只把每个多媒体内容中用户最感兴趣的部分(而不是全部)缓存在边缘服务器中,称分段缓存(segment caching)。一个多媒体资源中每个片段(fragment)的受欢迎度由用户的访问模式决定:如果用户采用(从头)连续访问的模式,那么通常使用连续缓存的方法,也就是存储资源的起始部分,以减小缓冲时间;如果用户的访问模式主要是媒体中的随机定位,那么就要使用不同的缓存技术,如交错缓存方法,这样可能会更加有效。
 
当待分发的Web内容是由片段(fragment)组装而成时,有人提出了将流内容分割为段(segment)的方法。这个方法要求边缘服务器做更多的工作,其前端层必须包含两个功能:为每个片段提供单独的缓存和片段的组装。作为一个独立的信息实体,每个片段可以包含描述其缓存能力的配置信息,该信息用来指示片段能否被缓存和它在网络上的存活时间(Time-To-Live,TTL),这就可以在片段(而不是在网页)的粒度上管理内容的新鲜度和生命周期。
 
当一个用户请求网页时,边缘服务器在它的缓存中找到该网页的片段,然后立刻将其组装起来。只有那些失去时效或没有被缓存的片段才从源服务器取。因此在边缘服务器上使用基于片段的缓存和动态组装方法对源服务器而言有两个好处:一是它不必完成组装页面的任务;二是它一般只需要分发页面的一小部分内容,也就是边缘服务器上那些失效或缓存中没有的片段。对于大部分由动态创建的网页构成的网络资源,基于片段的缓存技术可以在距离终端用户最近的边缘网络向用户提供这些内容,从用户对性能的感受可以发现这一技术已被证明能够有效地改善响应时间。不仅如此这一技术同样对边缘服务器有益:那些被不同网页共享的同个片段只需保存一份副本,这就大大提高了磁盘空间的利用率;同时它也能够降低边缘服务器上缓存的失效频度,因为网页中的不同部分只有在过期的时候才标记为“失效”。
 
衡量基于片段的缓存技术的常用标准是ESI(一种基于XML的标记语言),能够使用XML来区分内容是否应该缓存。内容提供商根据其开发环境制订相应的ESI规范,用来设计和开发业务逻辑以实现网页的产生和装配。除了将页面分解为片段这一基本功能(即使在一个有条件的方式下),ESI的功能还包括片段不可用时的异常处理以及对被缓存片段的失效性做出判断,所以ESI可以提供比TTL机制更强的一致性确保机制。
 
大多数支持基于片段的缓存技术的边缘服务器并不提供缓存之间的任何协作,也就是说这些缓存完全被作为独立的实体。这就使我们无法享受协作带来的好处,而采取协作的方式可以使边缘服务器发挥其潜在的缓存能力。基于片段的方法也面临与动态内容的类型相关的应用性问题以及网页的片段分解问题,而该方法的主要缺点都与这些问题有关。如果用户的请求序列具有高度的局部性同时源服务器上的内容更新不频繁,基于片段的缓存就能有效地应用。这个条件保证了片段的可缓存性参数足以用来管理内容的新鲜度,从而减轻了源服务器给缓存中的片段设置“失效”标志的负担。因为缓存、划分片段、组装片段等工作都是在每一个具体应用上进行,所以该技术很缺乏透明性。由于ESI代码必须加到原始代码上,这就需要完全修改网页的代码,因此ESI的性能就取决于网页的结构。对于同时为多个内容提供商分发内容的边缘服务器来说,上述对片段的人工辨识和标记几乎是无法承受的。
 
网防cdn专业提供国内外高防cdn加速服务
 
本文链接:http://www.f8i.com/news/349.html

CDN中前端层的复制的更多相关文章

  1. Java中Action层、Service层、Modle层和Dao层的功能区分

    一.Java中Action层.Service层.Modle层和Dao层的功能区分: 首先,这是现在最基本的分层方式,结合了SSH架构. modle层就是对应的数据库表的实体类.(即domain) Da ...

  2. 负载均衡技术在CDN中发挥着重要作用

    转载地址:http://www.qicaispace.com/gonggao/server/page01/info07.asp CDN是一个经策略性部署的整体系统,能够帮助用户解决分布式存储.负载均衡 ...

  3. java中Action层、Service层和Dao层的功能区分

    Action/Service/DAO简介: Action是管理业务(Service)调度和管理跳转的. Service是管理具体的功能的. Action只负责管理,而Service负责实施. DAO只 ...

  4. TCP/IP中链路层的附加数据(Trailer数据)和作用

    1.TCP/IP中链路层的附加数据是什么 在用wireshark打开报文时,链路层显示的Trailer数据就是附加数据,如图 2.如何产生 1.例如以太网自动对小于64字节大小的报文进行填充(未实验) ...

  5. 网站建设中前端常用的jQuery+easing缓动的动画

    网站建设中前端人员利用jQuery实现动画再简单不过了,只是要实现更酷的效果还需要插件来帮忙,easing就是一款帮助jQuery实现缓动动画的插件,经过试用,效果很不错! 下载该插件:jquery. ...

  6. 【Protle99SE】PCB中各层的含义【小汇】

    忽然发现,对solder和paste,layer和plane这两对有些糊涂了,摘录网络中的文章如下: [http://www.360doc.com/content/10/0608/15/514342_ ...

  7. 解决vim中鼠标右键无法复制的问题

    转:http://www.cnblogs.com/jianyungsun/archive/2011/03/19/1988855.html 这是我的vim配置文件:jeffy-vim-v2.4.tar ...

  8. MVC5中Model层开发数据注解

    ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证(在服务器端和客户端验证数据的有效性) 数 ...

  9. SQL中两种表复制语句

    Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我 ...

随机推荐

  1. Android开发之蓝牙Socket

    蓝牙Server端就是通过线程来注册一个具有名称和唯一识别的UUID号的BluetoothServerSocket, 然后就一直监听Client端(BluetoothSocket)的请求,并对这些请求 ...

  2. bzoj 2208 [Jsoi2010]连通数

    2208: [Jsoi2010]连通数 Time Limit: 20 Sec  Memory Limit: 512 MB Description Input 输入数据第一行是图顶点的数量,一个正整数N ...

  3. JAVA并发编程学习笔记------基础构建模块

    一.并发容器:ConcurrentHashMap:1.分段锁机制: 任意数量的读取线程可以并发的访问map,执行读取操作的线程和执行写入操作的线程可以并发的访问Map,并且一定数量的写入线程可以并发的 ...

  4. AdobeFlashBuilder还不如AdobeFlashProfessional写actionscript体验好

    AdobeFlashBuilder还不如AdobeFlashProfessional写actionscript体验好. 这真是奇怪了.

  5. 基于flash的web视频对讲直播测试

    由于项目的需求,要在web上实现视频通话的需求.现成的方案有WebRTC,基于浏览器的成熟方案,但是这个方案和公司项目需求有几个点冲突.后来考虑到基于flash的方案.参考雷神的博客 simplest ...

  6. 洛谷 [P1341]无序字母对

    这道题第一眼以为是一道字符串的题,但细想一下是一道求欧拉路的图论题. 把每一对对应关系看成一条边,本题即求这张图上是否存在一个欧拉回路或欧拉路,并要求字典序最小的方案,那么我们在dfs的时候就要从该点 ...

  7. 夏令营讲课内容整理 Day 6 Part 1.

    Day6讲了三个大部分的内容. 1.STL 2.初等数论 3.倍增   Part1主要与STL有关. 1.概述 STL的英文全名叫Standard Template Library,翻译成中文就叫标准 ...

  8. ZOJ 3557 & BZOJ 2982 combination[Lucas定理]

    How Many Sets II Time Limit: 2 Seconds      Memory Limit: 65536 KB Given a set S = {1, 2, ..., n}, n ...

  9. 编写服务器程序时遇到的connect:no route to host的问题

    亲测,,ftp服务器:在一台虚拟机上,没有问题.但是在不同的计算机或虚拟机上就会出现这种错误提示.一般是linux防火墙的问题 解决方法: 关闭linux防火墙 在root账户下 命令行:servic ...

  10. 发生Windows无法访问远程共享的解决办法

    发现问题 今天在访问远程时发生一个很郁闷的网络错误,如下图所示 问题修复步骤 这个问题可以采用以下步骤来修复 Step1.添加网络映射盘 添加网络映射时选择使用其他凭据登陆,这样就有机会让Window ...