美文网首页OpsDev
关于CDN的动静态加速

关于CDN的动静态加速

作者: 诺曼底的救赎 | 来源:发表于2019-02-21 21:50 被阅读28次

CDN做为内容分发技术,其核心原理就是将内容缓存到离用户最近的节点上,实现内容分发加速,这里内容主要分为两种,一种是静态内容,一种是动态内容。

静态内容:主要是指那些普通的文本文件或html或像html的没有任何后台动作的jsp、asp、php、css、html、jpg、js页面文件。

静态内容一般客户端发送请求到web服务器,web服务器从内存在取到相应的文件,返回给客户端,客户端解析并渲染显示出来。
动态内容并不是指网页上简单的 GIF 动态图片或是 Flash 动画,动态网站的概念现在还没有统一标准,但都具备以下几个基本特征:
  1. 交互性:网页会根据用户的要求和选择而动态地改变和响应,浏览器作为客户端,成为一个动态交流的桥梁。
  2. 自动更新:即无须手动更新 HTML 文档,便会自动生成新页面。
  3. 因时因人而变:即当不同时间、不同用户访问同一网址时会出现不同页面。

从技术角度上来讲:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关文章

  • 关于CDN的动静态加速

    CDN做为内容分发技术,其核心原理就是将内容缓存到离用户最近的节点上,实现内容分发加速,这里内容主要分为两种,一种...

  • linux运维之CDN技术

    关于CDN技术 1.什么是CDN(网站加速)? CDN(Content Delivery Network) 又...

  • Linux云计算学习笔记day48

    nginx负载均衡准备 web01 web02 CDN: 蓝汛 网宿 阿里云CDN: 网站加速 缓存网站静态...

  • 作为一名程序员,你真正了解CDN技术吗?

    本文导读: 物流仓库配送如何加速 静态资源文件部署方式 静态资源加速之CDN技术 解析过程中的名词解释 最后的总结...

  • 外贸网站为什么要用cdn加速?

    什么是CDN加速?外贸网站为什么要用cdn加速? 外贸网站为什么要用cdn加速 首先,什么是cdn加速? cdn全...

  • CDN网站加速

    CDN是什么 1-CDN俗称网站加速2-公司一般是购买其他cdn服务商提供的服务3-CDN一般是用来缓存网站的静态...

  • 【读书笔记】动态内容加速服务的实现

    [TOC] 《CDN技术详解》读书笔记 动态内容加速服务的实现 1. 动态内容加速技术 静态内容由纯粹的 HTML...

  • 16 | CDN:静态资源如何加速?

    前面了解了缓存的定义以及常用缓存的使用姿势,你应该对包括本地缓存、分布式缓存等缓存组件的适用场景和使用技巧有一定了...

  • 16 | CDN:静态资源如何加速?

    前面几节课,我带你了解了缓存的定义以及常用缓存的使用姿势,你应该对包括本地缓存、分布式缓存等缓存组件的适用场景和使...

  • 免费的静态资源CDN加速服务

    bootCDNcdnjs七牛百度静态资源公共库腾讯网静态资源公共库 又拍云JS库加速服务 关于使用体验大家可以留言...

网友评论

    本文标题:关于CDN的动静态加速

    本文链接:https://www.haomeiwen.com/subject/ekkjyqtx.html