缓存是什么
缓存是无处不在的时间和空间交换的一个例子。通过使用额外的空间,您可以获得更快的速度。
正常意义上的缓存由两个主要部分组成。第一个是用户浏览器上的缓存,第二个是添加到服务器上以加速访问的CDN。
首先,我们看一下在没有网站、没有CDN访问的情况下,用户的浏览器如何与服务器交互。
当用户访问网站时,浏览器可以在本地保存网站内的图像和其他文件的副本,这样当用户再次访问该网站时,浏览器就不会下载所有文件。必须这样做,这将加快页面加载速度。
当中间加上一层CDN后,用户浏览器和服务器的交互是这样的:
客户端浏览器首先检查本地缓存是否过期,如果过期,则向CDN边缘节点发起请求。如果尚未过期,此时完成的任何http 请求都将被终止。如果数据已经过期,CDN必须继续向原站点发送源请求以检索最新数据。 CDN 的一般拓扑图如下所示。
在存在CDN 的场景中,我们看到数据经过两个阶段:客户端(浏览器)缓存和CDN 边缘节点缓存。下面详细分析这两个阶段的缓存。
CDN是什么
CDN,正式名称为Content Delivery Network,是内容分发网络。其基本思想是尽可能避免互联网上影响数据传输速度和稳定性的瓶颈和链路,使内容传输更快、更稳定。
CDN可以理解为普通的缓存,比如代理缓存或者边缘缓存。即使您不关心用户的具体地理位置,您也应该考虑使用CDN 的代理缓存来改善用户体验。
CDN的作用
用户浏览网站时,CDN选择距离用户最近的CDN边缘节点响应海南移动用户的请求。请求无需一路前往位于北京电信机房的服务器(假设您的源站点部署在北京电信机房)。
CDN的优势
明确:
(1)CDN节点解决了跨运营商、跨地域的访问问题,访问时延显着降低。
(2)大部分请求在CDN边缘节点完成,CDN充当卸载者,减轻源站的负载。
CDN的缺点
更新网站时,如果没有及时刷新CDN节点上的数据,即使用户在浏览器中使用Ctrl+F5禁用浏览器的缓存,CDN边缘节点也会导致用户访问被阻止。变得不正常。最新数据将不会同步。
CDN缓存策略
CDN边缘节点缓存策略因服务提供商而异,但通常遵循http标准协议,通过http响应头中的Cache-control: max-age字段配置CDN边缘节点数据缓存时间。
当客户端向CDN节点请求数据时,CDN节点判断缓存数据是否过期,如果没有过期,则将缓存数据直接返回给客户端。 -to-origin 对源站点的请求。从源站获取最新数据,更新本地缓存,并将最新数据返回给客户端。
CDN服务提供商通常会提供多个维度来根据文件后缀和目录来指定CDN缓存时间,为用户提供更复杂的缓存管理。
CDN缓存时间直接影响“返回率”。如果CDN缓存时间太短,CDN边缘节点上的数据经常会失败,导致频繁回源,增加源站负载;如果CDN缓存时间太长,会导致访问延迟也增加。数据更新缓慢时会出现问题。开发者必须添加特定的业务来进行特定的数据缓存时间管理。
CDN缓存刷新
CDN边缘节点可以通过CDN服务商提供的“刷新缓存”接口来清理CDN,相比之下强制刷新是使用浏览器Ctrl+F5使浏览器本地缓存失效。边缘节点缓存的目的。这样,开发者就可以利用“刷新缓存”功能,在数据更新后强制CDN节点上的数据缓存过期,保证客户端访问时得到最新的数据。
查看更多:https://yqh.aliyun.com/detail/6703?utm_content=g_1000107570
欲迁云,见云栖号。更多云信息、云迁移案例、最佳实践、产品介绍,请访问:https://yqh.aliyun.com/
版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。