什么是动态加速和静态加速?

发布于 2020-10-28 16:58:49

两种有什么区别 适合什么场景

查看更多

关注者
0
被浏览
534
3 个回答
BLUECAT
BLUECAT 2020-10-28

1、静态页面加速

CDN网络和客户源文件服务器形成良好的互动,即将源站的网页内容:html文件、flash动画、及各种文件类型的图片缓存于CDN中心网络中,这些文件的特点在于更新的频率较低,用缓存技术将文件cache在CDN的边缘节点上,即可满足终端用户就近访问的需求。文件可以通过定期和不定期的方式在CDN节点上进行更新:定期更新时CDN中心网络主动更新源站数据,再通过智能解析系统将内容进行优化分配到各CDN网络节点;不定期更新可以通过网络时代后台管理系统进行主动推送完成。

静态页面加速服务是CDN服务的基本应用,也是使用最为广泛的服务,对各种静态内容,采用CDN静态加速产品可以达到很好的加速效果。

2、动态页面加速

针对网站网页中通过程序接口提取放在数据库或其他存储媒体中的内容而应运而产生的服务,这些内容需要不断更新保持新鲜,终端客户每次的访问内容都有所不同,利用基本的CDN缓存技术无法解决动态加速需求。目前常见的网站动态技术有asp、php、jsp、servlet、aspx,通过运用CDN网络智能系统,融合多种目前先进的动态加速技术(三次握手本地完成、优化的TCP、动态压缩技术等),对CDN网络进行分析设计与优化,动态优化的同时结合基于地域的CDN访问,可以显著提高跨地域跨多个运营商的实时数据的用户访问速度。

hyf3513OneGO
hyf3513OneGO 2020-12-05

动态加速指的是将请求通过边缘节点回源至源站,从而解决源站线路不好导致会员较慢
静态加速指的是缓存静态资源到cdn,从而利用边缘节点使得用户加速访问静态资源

U大使-小屁
U大使-小屁 2021-07-26
你好,我是U大使-小屁,个人博客:www.xpblog.cn,专注于分享关于UCloud云产品服务心得,积极参与UCloud生态建设,持续更新关于UCloud的内容!

从技术角度上来讲:

静态资源就是当用户多次访问这个资源,资源的源代码永远不会改变的资源。

动态资源是当用户多次访问这个资源,资源的源代码可能会发送改变。

本篇主要要讲的是CDN对于动静态结合的网站是如何进行加速的。

首先,对于静态资源,CDN的加速效果是最好的,因为文件本身没有变化,CDN会将文件缓存至节点,供终端用户访问使用,如果源站有新的静态资源产生,CDN也会及时去缓存这些资源,让用户无论是首次访问,还是多次访问,都可以快速获得内容。

但现在的大部分网站都是既有静态,也有动态,所以,要想实现对该类网站的加速,必须能够在实现静态加速的同时,还可以做动态加速。

对于动态资源,就网站而言,在没有加CDN的情况下,用户请求动态资源时,是需要通过客户端去到源站抓取,如果源站距离很远,就会导致用户请求时间变长。

加了CDN后,就和静态资源类似,用户可以从更近的节点上去获取资源,这样就缩短了访问时间,专业点讲,就是链路优化。

实现动态加速还有另外一个点,就是在缓存上的设置,对于静态资源,CDN一般会设置一个时间,这个时间是要告诉节点,多长时间去源站抓取一次内容。

这种设置主要考虑源站静态资源发生变化后,如果节点没有及时缓存该内容,会造成用户访问不到新内容,使CDN的命中率下降。

这里还要解释一下,为什么要设置一定的时间。两个原因,一个是静态资源更新没有那么频繁,另一方面,不设置一定时间,会频繁的去源站缓存内容,给源站造成压力。

由于动态资源的特殊性(时时变化),要想通过CDN实现动态加速,那就需要不停的去缓存源站的内容,所以这里的时间会设置为0。有人会问,那源站压力会不会很大,在我看来,这个是很难以避免的问题。

目前来看,个大厂商提供的动态加速,即便将时间设置为0也很难实现理想的动态加速,这也是市场对于动态加速诟病良多的主要原因。

从技术层面上来看,动态资源的产生很大程度上来源于业务逻辑本身。如果业务逻辑很复杂,那么动态资源产生的数量就会变多,这时候会造成动态资源大量产生而分发跟不上的情况。现象就是,我登陆一个网站,光登陆就要花掉好几分钟时间。

对于这样的问题,云计算领域就提出了边缘计算的概念.

边缘计算是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。

对于动态内容的加速,边缘计算最大特点是将业务逻辑下放到节点,把原来需要源站处理的动态工作让靠近用户的节点来做,这样用户既可以快速获取动态内容,同时还减轻了源站压力,这就能很好的解决0缓存带来的源站压力,同时还通过节点实现了链路优化。

边缘计算目前个大云厂商都有推出,首先从原理上是可以很好的解决动态资源加速的问题,但实践上目前还没有被广泛采用,主要原因可能是技术和成本上的问题。

总的来讲,CDN是可以实现网站的动静态加速,主要方法是链路优化和缓存策略。但目前来看,CDN在静态资源的表现要远优于对动态资源的加速,其主要原因还在于业务逻辑的源站化,如果边缘计算的技术得到普及,那应该可以大大改善CDN对于动态资源的加速效果。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览