作者:admin发布时间:2024-11-15 11:35分类:CDN加速浏览:69评论:0
当今世界,对所有人而言,网站必须具有一切功能:网站必须有吸引力、速度快、有灵活性及可移动性,甚至必须要能够不断变化。此外,还必须支持频繁的会话、支持各种浏览器、智能手机、平板电脑以及其它用户可能会用到的设备。\x0d\x0a网站必须能够在复杂的网络环境下运行,比如中国、亚洲、中东等网络连接很差的区域或国家,这些地方不仅地理位置分散,距离遥远而且网络多样化。更不必说,对于移动站点或应用程序而言,不仅有线连接如DSL或电缆线甚至无线连接如GPRS、EDGE、3G及现在的LTE等,都必须有很高的连接性能,然而即使是这些提供连接服务的供应商都可能不会有很好的网络连接。\x0d\x0a此外,站点使用越来越多的对象,如图片、帧、CSS及APIs,比如AJAX,以及远程调用,比如从Facebook调用到Google,甚至使用各种各样的共享、跟踪及附加值系统等。\x0d\x0a难怪,系统变得越来越慢,用户只访问能够最快打开、性能最好的网站。Google及其它网站的研究表明,一个网站每慢一秒钟,就会丢失许多访客,甚至这些访客永远不会再次光顾这些网站。\x0d\x0a输入CDN或是内容分发网络,你就会搜索到国际公司如Akamai及Limelight,及中国公司如ChinaCache及ChinaNetCenter,他们可以帮助用户提高网站浏览性能,如浏览互联网站、网络游戏网站及应用程序。\x0d\x0aCDN支持许多种服务,最常用的服务有:\x0d\x0a下载_下载服务是CDN提供的最简单的服务,通常是一些终端用户,如网游用户、软件用户、程序开发员及要下载大量文件的用户会使用到。通过使用CDN,人们便无需使用高带宽连接到昂贵的数据中心,并且通过CDN节点,这些文件会放到离终端用户更近的地方。\x0d\x0a静态文件/图片_CDN最常用的用途是用来给终端用户发布静态文件,如图片、java脚本、css文件等。通常这些类型的文件很少变更,即便有变更,也是少量的,所以,把文件发布并存放到离终端用户比较近的地方会极大地提高网站速度,在地理位置分散或连接性能很差的地方,网站速度提高会显得更加明显。请注意,该服务仅仅用于处理静态文件,如主要的网站页面,所有动态内容,都是由主网站服务器提供。这通常是分开处理的,通过不同的子域名进行处理,如images.mydomain.com,与www.是分开的。\x0d\x0aWSA_即整体网站加速,正变得越来越流行。从名称便可知道,它是用来加速整个网站的,包括所有的静态的东西及动态的东西,如网页、购物车及推荐信息等。基本情况是,终端用户只连接到CDN,CDN连接到网站,然后缓存所有的东西,CDN代表用户向实体的网站后台发送请求,获取动态数据。\x0d\x0a当然,CDN只能改善一部分内容的访问速度,因为其它的内容,如采购历史、产品库存等必须直接从后台网站获得。对于连接性很差的网络,如移动网络以及复杂的难以将静态内容从静态CDN分离出来的网站来说,WSA尤为好用。注意,为确保WSA成功,谨慎的配置及缓存控制头信息是非常重要的,因为CDN需要知道要缓存哪些东西,以及哪些东西是要传递到后台的。\x0d\x0a流媒体内容-媒体类网站使用越来越多的流媒体内容,如视频,包括来自于其它网站(如Netflix、Hulu、或Youtube及中国的Tudou/Youku)的实际的电视节目、影片等。对于这些内容而言,CDN提供特别的下载服务,通常称之为点播或Vod,可以处理并控制所有视频,包括快进/后退视频,可以访问经过授权的内容,提供各种跟踪服务等。对于这些服务而言,视频通常是加载到CDN,并且通过特定的URL直接提供视频。此外,一些CDN还提供现场流体内容,如,体育或其它事件等实时播放,进行现场内容直播。\x0d\x0a其它-CDN有许多其它功能及服务,以满足特殊需求,如电商、预加载、网游、动态加速、安全及DRM控制等。此外,还提供特殊的满足地理要求或网络要求(如中国移动或CERNET)的特别服务。\x0d\x0aCDN还有一个服务容易被人忽略,就是安全服务。例如,许多CDN可提供防DDoS攻击服务,由于它们比任何一个网站的带宽都大,而且分散,所以能够经受住此类攻击。此外,一些专门的CDN如,CloudFlare及AnQuanBao也提供像防火墙一样的应用程序,如防止SQL注入攻击、XSS攻击及其它防攻击手段以保护后台站点。\x0d\x0a另一个特别的主要服务就是“内容感知”网络服务。这是一种新新服务,是通过CDN系统的更智能化管理的内容,可以给不同用户,如移动或DSL或办公室用户等提供不同的优化过的内容。它可以对内容进行处理,以便提供给不同设备,也可以对内容进行优化,以便将最重要的内容优先下载下来,使用户获得最佳体验。它们还会判断在哪个地方存放哪些内容,总之,该系统能够使网站在复杂的互联网环境下有良好的性能表现。\x0d\x0a最后,有些CDN还提供全球服务,帮助客户开拓新区域或国际区域,如中国、拉美或国外其它地区。对于全球品牌而言,这种服务非常重要,对于想要获得国际客户的中国公司而言,这种服务也非常重要。这种全球或局部CDN帮助人们在无需数据中心及特别带宽等情形下,便可获得庞大的用户群。\x0d\x0a根据您的需求及站点架构,使用CDN是非常容易的。对于静态/图片CDN而言,关键的一点在于能够将静态内容或图片分离到特定的域名,然后存放到同一服务器上不同的虚拟机上。\x0d\x0a要想使用好CDN,最关键的一点还在于能够有良好的缓存控制。这样,CDN能够知道缓存哪些对象以及要缓存多长时间。理想的情况是,像图片这些东西基本很少发生变化,若有更新的话,应该将文件名/URL更改掉并且HTML变更到指向新的对象。有时候,要进行这些更改并不容易,因为必须在源主机进行更新,这就要求短时间的(1个小时或1天)缓存这些东西,或者使这些在CDN缓存中失效。\x0d\x0a对于任何网站而言,最好的做法也许是将两种方法结合使用,也就是使用CDN来处理静态HTML页面,使用AJAX处理动态数据。这样便可以从后台系统提供服务数据,给用户快速提供动态数据,使用户有良好的体验。\x0d\x0a监控_要想很好地跟踪CDN的运行情况,就必须使用监控工具,如Gomez、ip-label或NetworkBench。它们可以帮助您监控CDN的实际性能,这一点可以从不同的网络及终端用户的使用情况中得到证实。并且,这样做有助于识别并发现问题,确保CDN服务能按照所期望的运作。\x0d\x0a总之,几乎每个人都应该使用CDN,尤其是现在的世界生活节奏快、充满活力、要求又很苛刻,所以人们更应当使用CDN。
首先要纠正这个问题,动态内容是没办法缓存的。
动态内容需要的是信息的实时交互,如果采用了缓存,会影响正常业务。
举个例子,国航官网,订票内容就是动态的,如果这时候将这部分进行缓存,那当用户订票的时候,官网显示剩余10张票,并且在缓存过期内,会一直显示10张票。而实际数据库里已经没有票了。这时候势必会影响到客户体验。
动态内容的CDN加速其实还是链路和协议的优化。
首先,国内ISP复杂,南北互通的问题,会导致访问速度慢,CDN厂商有覆盖全国的PBL网络(可以理解为CDN提供商自己的私有网络,独立的ISP),当采用动态加速时,将内容引入CDN供应商的网络内,再根据分布在全国的CDN节点作为接入和落地口,达到链路的最优。
其次,CDN供应商会针对TCP等协议进行优化和调整,使正常的TCP三次握手减少到1次,从而减少计算机与计算机、路由之间的信息传递环节,从而达到加速目的。
在过去的几十年中,数字领域的一些重大发展促使企业寻找更好的方式来交付内容,互联网普及率的提高允许更多的消费者上网满足他们的购物和服务需求。与此相关的是互联网速度的提高,这导致复杂、媒体丰富的网站成为常态。更复杂的是,消费者的期望也提高了,因为他们希望在需要的时候以最小的延迟访问服务。这时候CDN应运而生,一些虚拟主机提供商也会积极将该服务纳入产品参数行列中(可见WHT中文站)。那么CDN的优势是什么呢?
1. 减少服务器负载
回想一下,CDN包括用于交付内容的地理分布的服务器网络。它不仅仅是一个存储内容的主服务器,来自检索数据包的客户端设备。这种跨越很远距离的战略性服务器布局意味着任何服务器都没有过载的危险。这反过来又释放了整体容量,为许多并发用户提供服务,并降低了带宽和交付成本。
2. 提高网站速度和网站性能
CDN对于依赖其网站快速交付内容的企业非常有帮助。想想一个电子商务企业,它需要将快速登陆其网站的购物者转变为客户并增加销售额。页面加载时间的任何显着延迟都可能导致用户退出网页、退出网站,甚至转到竞争对手的网站。
借助CDN,企业可以通过在离最终用户最近的CDN服务器上缓存内容来快速交付高性能网站内容,这些内容可以包括HTML代码、图像文件、动态内容和
JavaScript。
因此,当最终用户请求网站上的页面或内容时,他们不必等待请求转到源服务器。他们可以从离他们最近的服务器访问网络内容,从而最大限度地减少用户的延迟,并通过更好的最终用户响应时间提高业务的
Web 性能。
提高网站速度也是 SEO 的主要组成部分,确保网站尽可能针对搜索引擎爬虫进行优化可以在这个重要的营销渠道中带来显着收益。
CDN的优势还有很多,比如允许基于用户分析的受众细分、减少丢包和降低网络延迟等。
的问题。关于这个问题,一直存在一些分歧,部分人认为有效,部分人认为无效,主要是CDN技术也在更新,而且是比较低调的进行着更新,所以并不是所有人都清楚CDN对动态加速的效果。其实如果真的追究到第一代的CDN技术,那确实是不支持动态加速的,因为数据库这种实时更新而且随时都在更新的东西实在是没办法把它缓存到镜像服务器上,比较专业的数据库例如MSSQL倒是提供了热备的异地同步功能,不过实现起来相当复杂,而且使用简易型数据库的用户不在少数,所以缓存技术拿数据库没辙,一般在处理碰到动态页面的时候就把URL直接引回主站,所以加速了跟没加速一个效果,有时因为URL解析产生的延迟等问题反而还比不加速的情况下要慢;还有一种处理动态页面的方法,不记得是哪个CDN运营商提出的了,其实就是把动态页面生成静态后再利用静态缓存分发的技术实现加速,不过这个生成静态的操作是手动的,也就是由用户来确认生成哪些静态页面,然后点击一个生成的按钮,就开始进行该操作,而其实还有一些资料提出的CDN加速原理是有点类似IIS加速ASP.NET那样,也就是把每个被访问过的动态页面都自动生成一个静态页然后分发出去,这样下次再有人访问这个动态页面时就会先检查该页面之前是否被访问过,如果被访问过就引到镜像站点,否则就先由主站生成一个页面,再分发到镜像服务器上,当然这种方式存在不少需要解决的问题,例如当主站的某个静态页已经生成静态了,然后主站又产生了一些新的数据,使得这个页面内容已经产生变化,那么镜像服务器上的静态数据如何与主站保持这种高度的实时同步?老实说这个问题非常难解决,于是,部分有实力也就是指有大量带宽的运营商开始采用带宽加速的方式实现动态的CDN加速。这个原理是怎么样的呢?简单来说就类似用镜像服务器给访问者做了一个高速的代理服务器,用过代理服务器的朋友应该知道,假如XX用户通过代理访问A站点的某个动态页面,那么代理服务器会先自己去访问A站点的这个动态页面,然后把A站点返回的内容再转发给XX用户,这样不管A站点的数据如何更新,XX用户每次访问那个动态页面都会从代理服务器得到最新的内容,当然,条件就是代理服务器连接A站点的速度跟连接用户的速度都非常快,这样才会有加速的效果,所以需要代理服务器有非常好的带宽,这样的话,一般的服务商是做不来的,所以大家知道为什么很多CDN服务商对动态内容的加速效果不好了吧,其实就是实力有限,带宽不足。 最后,还有一个问题是大家经常忽略的,就是CDN的几种作用。很多人都知道CDN是用来给各地访问者加速或者说南北互通,但其实CDN都还有一个很重要的作用就是分流减负。
空间总共分为三种:存储类空间、静态
CDN
空间、动态
CDN
空间。各种类型的空间区别如下表所示:
其中,静态
CDN
空间和动态
CDN
空间的最大区别,主要以待加速资源的属性而定:
如果待加速资源已经经过合理分类,只包括图片、文档、音视频等静态文件,那么优先选用静态
CDN
空间,既可以获得更快速的加速效果,也可以获得更多的功能支持。
如果待加速的资源未合理分类,包括了静态资源和动态资源,那么需要使用动态
CDN
空间,一键实现全站加速。
取消回复欢迎 你 发表评论